A modification-free API for Minecraft utilizing log parsing
Go to file
Tyler 8c4dff3fc5
continuous-integration/drone/push Build is passing Details
Only log, don't fatally exit
2021-06-12 01:46:41 -04:00
commands Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
docker Pass in arguments from entrypoint.sh 2021-06-12 01:42:31 -04:00
events Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00
rcon Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00
scripting Only log, don't fatally exit 2021-06-12 01:46:41 -04:00
scripts Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -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
Dockerfile Add entrypoint, -dir parameter 2020-07-09 22:09:58 -04:00
README.md first commit 2019-04-16 21:42:46 -04:00
config.go first commit 2019-04-16 21:42:46 -04:00
go.mod Pass in arguments from entrypoint.sh 2021-06-12 01:42:31 -04:00
go.sum Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00
main.go Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00
parser.go Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00
parser_test.go Major updates/patches, functionality, api 2020-07-09 21:01:29 -04:00
scripting.go Move to event loop, prettify warps, add delay to warp with damage counter 2021-06-12 01:29:30 -04:00

README.md

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