/Ellin

Primary LanguageJavaGNU Lesser General Public License v3.0LGPL-3.0

Ellin

This is a fork of Ellin.

quickstart (localhost)

Find the external ip address of your docker host. If you are running on Windows, use ipconfig to find the WSL interface.

Obtain a localhost v62 client and modify 127.0.0.1 to redirect to the external ip address with a hex editor. Set the IP address of the server by editing conf/World.ini and setting GameServerIP.

Run the servers with the default testing settings.

docker-compose up

To create accounts and manage the database, use the adminer instance on localhost:8080. To add GM privileges, set gm to 5 in the character table.

After exiting docker-compose, remove any dangling services:

docker-compose down

The data for the server is persisted inside of a volume. To inspect the contents:

# this may change depending on the name of the parent directory
docker volume inspect ellin_ellin-volume

To delete all persisted data:

docker-compose down -v

formatting

The container will fail to build if the code is ill formatted. Use prettier to format all java and javscript code. Run the following command to check for errors:

mvn spotless:check

Run this command to apply formatting automatically:

mvn spotless:apply

If you do not have maven installed on your machine, you may start up a new container to mount your source.

docker-compose run --rm world bash
mvn spotless:apply

debugging

/usr/bin/env: ‘bash\r’: No such file or directory

To fix this, we need to remove Windows line endings.

docker-compose run --rm world bash
apt install dos2unix
dos2unix bin/*

Then rebuild using docker-compose build.

building code

To ensure that code is built every time you re-run the server:

# ensure the interface is down
docker-compose down
docker-compose build
docker-compose up