Hey, I'd like to present you with my second source release, the client being a superior version of the previous 7.0 client release found
here, with many bug fixes and performance improvements.
This is a source meant for educational purposes as it not ready to be hosted out of the box (the loot system is not finished for example), and has never been hosted publicly. That being said, I took care to optimize the source and make sure it is stable, might even be the most stable public base, who knows.
For maximum performance make sure to run the server in release mode, this will disable all the code wrapped around in DEBUG regions, and there's a lot of it...
Anyway, here's the rundown:
- No multi-server support (source is designed to run on only 1 server, which is fine for private servers anyway)
- One master app (one .exe/project handles all aspects of the server, being the database, appServer and gameWorld, running them on different threads)
- Pretty much every cheat patched... no clip, speed hacks, dex hacks, godmode, nade godmode, ground damage, shooting through walls... and more!
- Bitfield item-data, limited, but very efficient. This was an experiment and I was planning to remove it for this release, but here it is... probably some of the ugliest code in the source (actually a lot of it's ugly since I never done any major refactoring like I planned to).
- Optimized packet structures to reduce bandwidth
- Game world is run in an infinite while loop with non blocking sockets, this basically means the networking has very little latency in comparison to other sources, as well as that, it means that world ticks are always accurate instead of relying on timers/Thread.Sleep which have inaccuracies. The disadvantage to this approach is that the infinite loop uses up a lot of power, but that doesn't matter in a server environment as unused power is wasted power!
- Client and server designed to run at 10 TPS as opposed to the production 5 TPS.
- No external database, everything is stored with text and .XML files. This was a choice I made early on because I didn't want to bother with connecting to a database, makes it a very good source for prototyping as you don't need to rely on any external software, you just run the one built .EXE and have fun. This is fine for this source as there's no multi-server support like mentioned above, also reading text/XML files is really fast.
- Username registration instead of emails.
- Fame stats, easily expandable and just pretty cool...
If you want to host this source, you probably want to finish up the loot system, add portals and... that's about it actually, then you have a nice base to go from. You'd also have to add Realms if that's something you desire.
Here's some screenshots...
Virus scans...
Hopefully someone gets some good use out of it!
Use AIR SDK 15.0 compiler.
