ETNA gets encryption: ETNA 2.0 released!
Community Forums/Showcase/ETNA gets encryption: ETNA 2.0 released!
| ||
![]() After a lot of hard work, ETNA 2.0 is out! ETNA stands for Easy daTabase Network Access. This library helps to connect to a web database of type PHP/MySql (using thread for no slow down of your game). This library may be used with all versions of Blitz (BlitzBasic, Blitz3D, BlitzPlus, BlitzMax, ...), PureBasic and DELPHI. The great news is that now ETNA uses ultra-secure ENCRYPTION to communicate back and forth with the php script. And ETNA is as easy as before to use, even with this powerful new functionality! The library is perfect for games with online score, online chat, stats of players, persistent players, master server, etc. List of features: * Use of threads: no more slow down of the program while you access the database. * Unlimited number of threads can run, thanks to the queueing system. You don't have to wait for the completion of a request. * Ultra-secure encryption to protect your data during the communication with the server (using keys to encrypt/decrypt). * Automatic detection of encryption when receiving a message so that encryption is as easy as no encryption. * Very easy to use! Less than 10 lines of code to use ETNA, including threads and encryption! * 100% free!! (see license) You can download it from here: http://repeatuntil.online.fr/Etna This library is FREE, but please pay attention to the special license. Please try the examples in the "Examples/" directory... Note that ETNA is now working with BlitzMax 1.18 (and any other version in fact)! (Windows only) This library was written by Progi1984 and myself. Please give us some feedback!! Also we are looking for people willing to wrap ETNA for other languages (only 40 lines of code). ![]() |
| ||
This looks really usefull. I just wish I had a use for it :( |
| ||
I forget to say: previous users of ETNA within Blitz3D, do not forget to replace the old .decls with the new one (otherwise this won't work!). |
| ||
AWESOME. THIS PRODUCT ROCKS!!! Will implement the new version. MANY THANKS! |
| ||
nice one. updating right now... |
| ||
Thanks for the feedback of our "old" users. Anyone else tried this library???? This library should be useful for a lot of people out there.... Oops, there was a small mistake in the simplest example in the package: this example was not working. This is now corrected! (download the package here: http://repeatuntil.online.fr/Etna). For BlitzMax, I have tested if the use of CString rather than $z could produce a memory leak, and the answer is : no memory leak at all! Everything is safe!! |
| ||
About to use this in a second game. It's such a cool and easy to use lib! |
| ||
This looks great, a really good reason for me to buy a book on php. |
| ||
Cool. I just tried it. It actually taught me lots about MySQL and php! Any idea when you might have the master server bits written? |
| ||
Yes, before ETNA, I knew nothing of php and mySql. But these 2 languages are a piece of cake for Blitz programmer! This is fairly easy to start from examples (like the one you found in the ETNA package) and to modify them and customize them. So I would say ETNA does not require that you have a good knowledge of php/mySql: you can always learn by doing it ;-) For the master server, actually, it's written now. This is using the gnet part of the blitz web site (see gnet in the navigation bar) -> very easy to put in place. But you could also use your own server, to customize more (for example, in my game, I have also the number of players, the state of the game, ...). OK, I will release it before or during the week-end! |
| ||
Sweet! Thank RepeatUntil. Lovin' your work, guys. |
| ||
Sorry, I can not release ETNA-gnet, since there is a newly introduced bug in the official gnet.php (that ETNA is using). I am waiting for an answer... (http://www.blitzmax.com/Community/posts.php?topic=59462) |
| ||
Hi RepeatUntil, I have a small request. I am using the encryption and want to know through the ETNA_GetState function whether the authentication was worked. Could there be a new state that flags the fact that authentication failed? Does the encryption stop anyone from calling the .php script direct with values? Imagine they want to post to the online scores database, could they do it if the encrpytion is on. What actually gets transmitted? |
| ||
I have a small request. I am using the encryption and want to know through the ETNA_GetState function whether the authentication was worked. Could there be a new state that flags the fact that authentication failed? I am not sure to understand what you want. First, on the ETNA side, the encryption NEVER failed. ETNA always encrypt successfully any string. On the php side, if the encryption key is the same, there is no reason for the php script to fail. When the authentication does not work, this is because of a mistake from the user (I know, I did some!). Could you explain me why you are thinking about this? Does the encryption stop anyone from calling the .php script direct with values? Imagine they want to post to the online scores database, could they do it if the encrpytion is on. What actually gets transmitted? If the php is using encryption, then it can not receive any arguments without encryption. Because the php will think the arguments are encrypted, it will decrypt it, and of course the arguments will be completely messed up. What is sent to the php is a string of type "3F4503A3E4FE" (encrypted), but if you send "&score=12" without encryption, the php script will mess it up. It's possible to have a php script which understand BOTH encrypted or non encrypted arguments, but this means that encryption is completely useless, as anyone could send normal arguments to the php. ETNA does not allow that. I hope I was clear enough... |
| ||
you can protect your phpscript from abusing with user-given values. think about a secret key code that must be identical to let the data update. i am using both methods (etna-encryption and internal script protection) together for maximum user-fiddling-protection. |
| ||
Wow, sweet! |
| ||
Easy to use, well documented, and very useful. Thanks. |