I guess it’s time to come out from under the shade with my latest server project, which has been tested in numerous applications so far, recently I took the project and did a complete overhaul and added a ton more abstraction. The goal of OGServer is to allow people to easily create servers that can withstand a large number of connections; Of-course this will also be limited to the amount of logic the user is processing, how they’re processing it, and the hardware of their machine; However I’ve used this framework in stability tests before and I was pleased with the results.
The project isn’t exactly ‘closed source’, but it’s not ‘open-source’ either, I don’t use obfuscation; However I’m not providing the .java files for the time being. – I’m thinking about rewriting this again, however this time built for extreme stability and ease of use and selling licenses, possibly. I have a fairly large game-developer network that follows me around like puppies and it could be an easy coin or two.
Here’s an example of the “meh” packaging for the project:
Currently the server has the following features, with a lot of features planned; Consider it a game-server framework.
- Entity System
- Built in friends list and ignore systems.
- Abstract classes for containers, for things such as inventories, to hold items
- Stackable and single item support, uses an ID/Amount, can be built upon for more complex item systems
- Basic region based logic support that can be extended upon
- TCP and UDP Support, automatically links the UDP data to the proper user, all done in the background
- Basic collections set up for all “mobs” for other nearby mobs, updates in real time.
- Easy to use packet system, allows for sending global/single/broadcasts very easily.
- Built in abstract login protocol, easy to use and build upon
- A “default login protocol” which uses JSON format for saving accounts, great for testing
- Uses reflection/annotations to find packets, just create the class and you’re good to go.
Planned features include:
- Remote Administration System(in dev)
- Websocket networking support
- Model loading, for authoritative collision
- An Abstract A* Pathfinding implementation
Current Client API’s
- Java (Beta)
- Unity3D (Beta)
Planned Client APIs
- HTML5 (Javascript)
- Flash
You can view my poorly written documentation over at http://ogserver.net/documentation/