Before digging further into this, I should point out that it will not
be possible for you to host your game on the gamegardens.com server if
it uses Hibernate. We don't provide a database for use by games.
So that means you would be running your own ToyBox server on your own
machine, and replicating the entirety of the gamegardens.com setup on
your own hardware. That's no small task, and would probably not be the
right approach if you just wanted to host a single game of your own
authoring, because you don't need all the additional machinery for
allowing other people to upload games and whatnot.
If you do plan to host your own game on your own hardware and want to
set up a simpler standalone server that would allow players to connect
to a lobby (like in Game Gardens) but which only supported your game,
I can point you in the right direction. But if your plan was to upload
your game to gamegardens.com, then I'm afraid you'll have to make do
without a database.
I took the liberty of creating a totally standalone project that runs
the Reversi sample game in a simple client and server. The code is
here:
https://github.com/samskivert/reversi
It doesn't do any actual matchmaking, other than take the first two
people who log on and stick them in a game. But all of the necessary
pieces should be in place for you to replace Reversi with your game,
and do whatever more complex match making you need. You can also use
the Micasa lobby services in Vilya if you need a proper lobby.
Because this is all standalone, the class loader situation is much
more straightforward than in Game Gardens where we have to put games
in a sandbox and make it possible to unload their class loaders when
they become idle. So you should be able to wire up Hibernate in your
server without any problems.
Good luck with your masters thesis! :)
Michael
One thing I didn't wire up is a way to deploy this game as a Java Web
Start app or as an applet. Both should be possible, you'll just need
to put all of the relevant jar files in a directory and create a .jnlp
file, or do something similar for an applet.
Presently, you can simply test the client and server via the Ant
targets, as you would when developing a Game Gardens game.