A modification-free API for Minecraft utilizing log parsing
Go to file
Tyler b52b38179a
Some checks failed
continuous-integration/drone/push Build is failing
Major updates/patches, functionality, api
2020-07-09 21:01:29 -04:00
commands Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
events Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
rcon Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
scripting Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
scripts Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
.drone.yml Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
.gitignore Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
config.go first commit 2019-04-16 21:42:46 -04:00
Dockerfile Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
go.mod Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
go.sum Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
main.go Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
parser_test.go Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
parser.go Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
README.md first commit 2019-04-16 21:42:46 -04:00
scripting.go Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00

ResidentSleeper

A plugin-less, mod-less sleep voting system using log parsing, only available on Linux.

Why

Plugins exist that let you define a certain percentage of users that need to sleep, but they're plugins. They don't work on snapshots/etc.

How

Log files are generated by the Minecraft server under logs/latest.log, which can be read in a fashion similar to tail -F to constantly receive updates. Commands are then executed via RCON that's connected using a configuration parser.

Usage

Requirements: Linux, RCON

Use supervisord or similar to run the program as your Minecraft user, with the flag -dir /path/to/server.

The following configuration values are required in server.properties:

rcon.port=25575
rcon.password=password
enable-rcon=true