- Joined
- Sep 2, 2011
- Messages
- 2,171
- Reaction score
- 916
Upload to imgur, problem solved if you cannot afford to buy extra HDD space.
I personally wouldn't recommend that. In first aspect you're redirecting your entirely Camera "file database" to an external Image Provider, that in any time can change their API (way to access directly the images (changed already in this year)), and the Photos can simply being deleted or removed. Also this violates Imgur Terms of Use that strictly says to not use Imgur as a Hotlink provider. Other point it's that they can acuse you of uploading multiple photos or simply block your access.
Also that doesn't solve the real problem of the Camera Flood. What actually happens it's that the amount of external requests maybe can create lag in the emulator or maybe a big queue of requests. Anyways will create a lot of data in the Database.
Anyways, was comported that using this way of external hosting isn't good. (Proved by Leon's attempt of change the Habbo.swf way of how Camera works).. I don't know how Comet actually does camera, if continues using the way of Leon, that doesn't ever validate the input data, or if actually works with an third-party/external API to process the jSON data.
I really don't know a user that in real Habbo takes Camera Photograph in an interval of less 30secs. Either in Habbo Official Events users doesn't do that.
#ontopic Jonteh a little question to you, since i didn't understood correctly what is happening here (i don't have Comet Source code, and to much lazy to look it)... The checks that this Release injects, are in the process of Image Pre-Visualization? I mean when the API does the work of generating the Image? (Before confirm purchase)? Or it's this checks added before the Confirm Purchase?
I think an additional check that maybe will work it's the following task:
1. It's stored the last time of when a Photo was generated, in Yupi Emulator i was doing the job of two tables in Database the purchased images and the pre-rendered images, those two have a timestamp column. What i'm proposing: When you click to generate, a row is inserted in the Database with a timestamp (better than simple storing in the Emulator... (data loss prevention), and when the purchase it's confirmed a query to migrate from the RAW table to the "Purchased/Final" table happens. So you can check in generation time and purchasing time if the interval of generating/purchasing it's less than XX seconds. I think people can also do flood in the Purchase packet..
2. People never take photos with the exactly range of bits/jSON values. You can do a check in the pre-generation (depending how Comet does the generation of time image) to check if the Image/Bits/jSON it's exactly equal of the previously. Don't really need check the entirely jSON but only the Root Squares (Root Items in case of jSON), or the first amount set of bytes in case of non-jSON generation. If the image is exactly equal in those aspects, something is wrong. People can also try to flood only by clicking multiple times the button. This check will store the first generated image in the RAW table, but ignore the consequent requests. And if in sometime the purchase it's confirmed, simply do the query that moves the row in the "purchased/final" table. You also can create a procedure in the Emulator to every boot or shutdown erase the RAW table.
Sorry of my bad english, but this was my idea. If you're in trouble to understand what i says, please tell me, i really want to give some points or ideas.
#ontopic2
Good release, i think Comet it's a great emulator (for the actual emulators) and some fixes are good to be released. I remember that the emulator with biggest amount of released fixes was Swift Emulator.
#offtopic2 The General, Jonten didn't was rude when said Arcturus isn't the best solution for now. But Arcturus in my opinion is under development and it' only maintained by you. Comet it's used a lot more time and a ton of bugs was already reported by the community. So Comet it's more ready for the Community since had a big help by the community (ideas/bugs/suggestions)...
Thanks!