Kinoko is a server emulator for the popular mushroom game.
Basic configuration is available via environment variables - the names and default values of the configurable options are defined in ServerConstants.java and ServerConfig.java.
Note
Client WZ files are expected to be present in the wz/ directory in order for the provider classes to extract the
required data. The required files are as follows:
Character.wz
Item.wz
Skill.wz
Morph.wz
Map.wz
Mob.wz
Npc.wz
Reactor.wz
Quest.wz
String.wz
Etc.wz
Building the project requires Java 21 and maven.
# Build jar
$ mvn clean packageKinoko defaults to using SQLite as the database provider for ease of use. No setup is required in this case.
It is possible to use either CassandraDB or ScyllaDB instead of SQLite, which requires starting the database using the commands below.
# Start CassandraDB
$ docker run -d -p 9042:9042 cassandra:5.0.0
# Alternatively, start ScyllaDB
$ docker run -d -p 9042:9042 scylladb/scylla --smp 1You can use Docker Desktop or WSL on Windows.
Alternatively, docker can be used to build and start the server using the docker-compose.yml file.
# Build and start containers
$ docker compose up -dTo start the server with CassandraDB, the docker-compose.cassandra.yml file can be used as follows:
$ docker compose -f docker-compose.cassandra.yml up -d