Behind the Scene(source:
GarageGames)
Hi everybody,
i'm currently working on a mafia online game. Goal is to play with some people (~100-200 planned) in the 1930s. You can form gangs, fight against other gangs, doing a few quests, driving around or just chill in a bar and have a good chat.
The StatusI still don't know the power of the network engine but everything i got so far works just fine. Hopefully it can handle this amount of people but i'm very optimistic about that.
In my current version you can connect to a dedicated server which is runnin gon a root server online, run around with a mafia guy, shooting other guys or just chat with them (local, world and whisper working yet).
Might not be much but i just started last week and i get mor and more working lately.
The updaterBeside the game itself, Thomas Bang, also a member of the GarageGames Community, programmed a updater to get the newest version of the game on the fly.
It's not written in torque but delphi. You can download the ~1MB client, install it, start it and it will automatically start downloading the necessary game files. You have a progress bar, you see which file is currently loaded, it creates a error.log file and so on. When all files are downloaded, a "Start" button will be enabled and you can start the game.
The updater - internals
We would like to talk a bit about how the updater works and maybe some of you could give some comments about this idea, or even suggest a better way to do that.
1) All necessary game files have to be uploaded to a server
2) I wrote a php file that reads the last modification date of every file in the game editor and write that date and the path to the files into a SQL database.
3) The updater itself reads out a file named "options.kdf" which includes several informations.
First, the name of the checkfile. When the updater downloads files successfully, it writes its last changed date into this encrypted file. The next time the updater starts, it checks if any of the downloaded files are older than the one on the server. We decided to write it into a file so nobody can just change their systemclock and manipulate the "last changed" date.
Second, the IP to the update files so the updater knows where it can get the files from.
Third, The IP of the MySQL file so you could seperate the update files and the sql database on different servers
Fourth and Fifth Username and Password to connect to the database
Sixth, the database name
Seventh, Port to the mysql server
Eighth, the select command to choose the name of the table itself.
The options.kdf is encrypted too so no user can change it by itself. Thomas Bang wrote a special OptionsApp to read and write the data from the options.kdf.
4) If there is any new update, i have to upload the changed files to the server and re-execute the php file to get the new dates of the files. I'm not quite statisfied with this method but i got no better idea yet.

So this is all i want to talk about for today. I'm gonna write some updates soon and report about the games status.
Thanks for reading and i hope i didn't make too many gramma mistakes
