Java, Java everywhere. There were a lot of null pointer issues to say the least.
Install
This is going to be brief - the install is relatively quick. Basically I followed the guide 2009scape had on their website.
The only real gotcha as a part of the entire install is ensuring to have an X11 session flag passed to the ssh session to open intellij-idea-community ide.
Xampp was easy to install with a wget
from the site.
There’s also a build.sh
and run.sh
command in the project to make sure the project is built properly.
XAMPP
Install is pretty easy - need to make sure to allow access to phpmyadmin via /opt/lampp/etc/extra/httpd-xampp.conf
# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
# Require local
Require all granted # <- Need this line
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Running the Game
Start the Management Server and Server
./run.sh --build server Server/worldprops/default.json
./run/sh ms
scp -r ubuntu@10.0.1.26:/home/ubuntu/testscape/Server/data/cache /home/jack/.runite_rs/runescape/
Problems
From the client I’ve had to remove the cache a few times.
Also it looks like there’s a null pointer error when trying to load the character in the client gui.
I had to run many -rlcache
in the management server and delete ~/.runite_rs
, ~/.java
and ~/.cache
from the client side.
The problem I ran into that won’t load the character.
java.lang.NullPointerException
at core.game.system.mysql.impl.PlayerSQLHandler.create(PlayerSQLHandler.java:80)
at core.game.system.mysql.SQLEntryHandler.read(SQLEntryHandler.java:76)
at core.game.node.entity.player.info.portal.PlayerSQLManager.parse(PlayerSQLManager.java:78)
at core.game.node.entity.player.info.PlayerDetails.parse(PlayerDetails.java:114)
at core.game.node.entity.player.info.PlayerDetails.getDetails(PlayerDetails.java:136)
at core.game.system.communication.ClanRepository.get(ClanRepository.java:376)
at core.game.system.communication.ClanRepository.get(ClanRepository.java:359)
at core.game.system.communication.CommunicationInfo.sync(CommunicationInfo.java:259)
at core.game.node.entity.player.info.login.LoginConfiguration.sendGameConfiguration(LoginConfiguration.java:225)
at core.game.node.entity.player.info.login.LoginConfiguration.configureGameWorld(LoginConfiguration.java:135)
at plugin.interaction.inter.LoginInterfacePlugin$1.pulse(LoginInterfacePlugin.java:38)
at core.game.system.task.Pulse.update(Pulse.java:80)
at core.game.world.PulseRunner$Runner.run(PulseRunner.kt:55)
at core.worker.MajorUpdateWorker.run(MajorUpdateWorker.kt:28)
at core.worker.MajorUpdateWorker$start$1.run(MajorUpdateWorker.kt:21)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Launcher
The 2009scape discord basically told me nothing as they don’t support setting up our your own instance of the game.
That somewhat left me stranded.
I tried using the launcher, but also couldnt get it to work with my private instance. I may circle back on this in a few months of development. I’ve always wanted a private runescape server..