kryo-proxy-sync is a Velocity proxy plugin which syncs proxy metadata information such as slots, motd and more.
kryo-proxy-sync needs the following services to be installed and configured to function properly:
It is not recommended using the root user of the MariaDB server for kryo-proxy-sync. Please create an extra database with an extra user that is limited to that database.
To install the Velocity plugin just copy the JAR-file into the plugin directory.
Furthermore, the Velocity plugin needs some environment variables. Those can also be provided as startup parameters if the usage of environment variables is not possible.
Environment variable | Start parameter | Description |
---|---|---|
CONNECTION_STRING | -DCONNECTION_STRING | Connection String for connecting to the MariaDB database |
RABBITMQ_ADDRESS | -DRABBITMQ_ADDRESS | Address and port of the RabbitMQ message broker |
RABBITMQ_USERNAME | -DRABBITMQ_USERNAME | Username of the RabbitMQ message broker |
RABBITMQ_PASSWORD | -DRABBITMQ_PASSWORD | Password of the RabbitMQ message broker |
A startup command of the Velocity could look like the following:
java -Xms128M -Xmx1024M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -DCONNECTION_STRING=jdbc:mariadb://127.0.0.1:3306/database?user=user&password=password -DRABBITMQ_ADDRESS=127.0.0.1:5672 -DRABBITMQ_USERNAME=guest -DRABBITMQ_PASSWORD=guest -JAR velocity.JAR
Command | Permission | Description |
---|---|---|
/maxplayercount <count> |
player.count.max |
Change the maximum player count of your proxies. Players that should be able to bypass this limitation needs player.count.max.bypass as a permission. |
/maintenance [enable/disable] |
maintenance |
Manage the maintenance mode of your proxies. Maintenance lets only allowed users onto the server. To allow players or groups to join the server when it is in maintenance give them maintenance.bypass as a permission. |
kryo-proxy-sync is built with Gradle. We recommend using the included wrapper script (./gradlew
) to ensure you use the same Gradle version as we do.
To build production-ready JAR files it is sufficient to run ./gradlew shadowJAR
.
You can find the JAR files in ./build/libs/*-all.JAR
.
kryo-proxy-sync uses JUnit 5 and Mockito for testing.
To run all tests just execute ./gradlew test