1. I'm aware that setting up and starting up the server can be quite tricky if you're not familiar with eclipse and java servlet development. I'm thinking about putting together a shell script that'll automate the job for you. If I can get the time to put one together, I'll upload it here soon.
2. I've had a bug report that Adblock on Chrome can cause some of the graphics to fail to load. If this affects you (the most common symptom is just seeing the background map but not character graphics; you may also see some white squares on the map or animations flickering because only some frames have loaded) try disabling Adblock and reloading. The game also runs in Firefox, although we did have stability issues during early testing.
Here's the shell script as promised, or at least a first version of it. This has been tested with cygwin on windows; I'm currently downloading the LPC VM image and will test it there when that download finishes.
To use:
The first time it is run, the script will download a copy of Apache Tomcat 7.0.29 and install and configure it. Thereafter, it will simply run the two server processes required. You should now be able to connect on port 8080.
You only need to specify your hostname the first time it is run; the hostname is inserted into a couple of the JSP files for the purposes of constructing backlinks to the server. You can use 'localhost' if you are only ever planning on connecting from localhost, although I'd suggest using a real hostname if at all possible: the game is much more fun with multiple people playing.
If at any point you want to reconfigure, simply delete the 'apache-tomcat-7.0.29' directory that is created the first time you run it. Apache will be reinstalled and reconfigured (although not redownloaded unless you also delete the tar file).
Note that while the script is good at starting the game, it isn't so good at stopping it. Pressing Ctrl+C will kill tomcat, but the event server will be left behind. You'll need to use 'ps' to find it and kill it.
Edit: would be useful if I could upload a zip/tar file to this board, but it is apparently disallowed. External link for the script (see below)
Hmm. Pastebin changed all my newlines to CRLFs, which doesn't work, and the VM doesn't have anything installed to convert them. Let's try again:
You can download the script from here: http://www.mediafire.com/download.php?cooa3bgnxi3hg6u
OK, I have now tested it on the VM and the script does work, however it seems there's a corrupted database file in the distribution, so you'll have to delete pennyblood-server/data/server.db4o before starting to make it all work.
Hey there. I'm an "experienced Java dev". I couldn't get to run it from eclipse. Kept on getting the following error:
nested exception is com.db4o.ext.Db4oException: File format incompatible: 'data/server.db4o'
I tried your script, but it also failed with:
Initialisation did not complete. Please check the file 'songofblood-server.out' for potential error messages.
I checked -server.out and it spat out the same error I was getting in Eclipse.
For the record, I downloaded the same tarball that was available in http://opengameart.org/content/song-of-blood-1
Edit: Nevermind. I removed server.db4o and replaced it with server-v13.db4o and it worked. I'll post a review of the game on Tuesday :-)
Edit 2: There seem to be issues with the DB. I created a character, and after the 'bio' I was unable to click on 'OK'.
After that, i refreshed the page, it said 'welcome back Nushio', i clicked 'here' to start the game, and it gave me an error.
com.db4o.ext.DatabaseClosedException
net.pennyblood.web.PlayerHome.doGet(PlayerHome.java:39)
That's odd. Can you try completely deleting the database file and starting again? It'll automatically recreate it if it isn't present.
It worked! I managed to play the game for a while. A review is coming up shortly :-)
Update: It's up! http://k3rnel.net/2012/08/14/lpc-game-review-song-of-blood/
Hi. I'm trying to get this to work but am running into the following problems:
That URL for tomcat 7.0.29 no longer exists. Thusly, I tried switching to 7.0.32.. it builds (I think?) but I get the following error:
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/pennyblood/server/Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: net.pennyblood.server.Main. Program will exit.
Could this be due to using the free-as-in-freedom (non-sun) java in debian? I'm not sure. Any help is appreciated... I'm not a Java developer.
AKA paroneayea on freenode
Can you tell me what java version you were trying it with? Looking at debian's package list, there are at least 4 different jres that ship with the latest version...