JXClient is a cross-platform Crossfire RPG client.
This builds JXClient on your machine. For Docker instructions, see below.
Initialize submodules to clone the client sounds:
$ git submodule --init --recursive
Install JDK 17. Other versions of JDK will fail to build due to incompatibility with the bundled Gradle.
If you have more than one Java version installed, you can select the right one using environment variables:
On Linux:
$ export JAVA_HOME=/.../java-17-openjdk
On Windows:
> SET JAVA_HOME=\...\java-17-openjdk
On FreeBSD:
$ export JAVA_VERSION="17"
Run ./gradlew (or gradlew on Windows) to build the client.
JXClient can also be built inside Docker. For this you will need the docker command-line tool.
Run build-setup to generate a Dockerfile and build a Docker image.
Run build-run to start a shell inside the Docker container.
Follow the Building instructions above, but inside the Docker container.
$ java -jar jxclient.jar
Enabling the hardware-accelerated Java 2D OpenGL pipeline may increase performance on some platforms.
$ java -Dsun.java2d.opengl=True -jar jxclient.jar
JXClient uses the fullscreen support provided by the JVM.
Although the client will switch to windowed mode if real fullscreen is not
available, it is important to note that accelerated support will probably end up
being disabled.
To check if the graphical operations are accelerated, you can add
-Dsun.java2d.trace=log,timestamp,count,out:java2d.log to your JVM command
line, run the client, then check the content of java2d.log.
Set an HTTP proxy to allow metaserver access to retrieve the list of available
game servers:
java -Dhttp.proxyHost=proxy.hostname and -Dhttp.proxyPort=8080 -jar jxclient.jar
or, alternatively,
export http_proxy=http://proxy.hostname:8080/
java -jar jxclient.jar
Set a SOCKS proxy for connection to game servers:
java -DsocksProxyHost=proxy.hostname -DsocksProxyPort=1080 -jar jxclient.jar
It is possible to build a Windows installer, see files in misc/windows_installer for more information.