OGServer -- A simple, easy to use, Game server framework/api.

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/