Snapshot Follower

Keep your Minecraft server up-to-date with the latest snapshot

management

Installation command

!!MCDR plugin install snapshot_follower

Synced at

...

Last update

...

Latest version

Total downloads

4

Back to catalogue

Snapshot Follower

English | 中文

Keep your Minecraft server up-to-date with the latest snapshot

The plugin periodically queries about the latest Minecraft snapshot from mojang API. When a new snapshot is spotted, it will download the snapshot server.jar, stop the running server, replace the server.jar and finally start the server with the latest Minecraft snapshot

Note

When the plugin is loaded or the server starts, the plugin will try to detect the current Minecraft version of the server by reading the version.json inside the jar file, so it knows if the currently running Minecraft version matches the latest snapshot.

If the detection fails, the plugin will simply assume that the current Minecraft version is the latest snapshot

Optionally, an HTTP POST webhook can be triggered when the update finishes

Configuration

Config file path: config/snapshot_follower/config.json

{
    "enabled": true,  // Switch of the plugin, default true

    "check_interval": 60.0,  // Interval between each check
    "server_jar_path": "server/server.jar",  // Path of the server jar file. It needs to be writeable for the update-ability
    "keep_downloaded_jar": true,  // If it should keep the downloaded server.jar file after updating. Downloaded jars will be at `config/snapshot_follower/jars`

    "http_proxy": "http://127.0.0.1:1081",  // Optional, a http proxy url to be used for HTTP requesting
    "https_proxy": "http://127.0.0.1:1081",  // Optional, a http proxy url to be used for HTTP requesting
    "request_timeout": 10.0,  // HTTP request timeout, in seconds

    "webhook": {
        "enabled": true,  // Switch of the webwook feature. An HTTP POST request will be sent when the update finishes
        "use_http_proxy": false,  // If the webhook HTTP request should use the http proxy defined above
        "url": "http://127.0.0.1:8080/my/callback",  // Webhook url
        "headers": {  // Webhook HTTP headers. Can be empty
            "Authorization": "Bearer foobar"
        },
        "body": "Server has been updated to {{version}}"  // Webhook body. The placeholder {{version}} will be replaced with the updated version (e.g. 24w39a)
    }
}

TODO

  • Broadcast, wait and delay-if-requested before update
  • Backup (using other plugins) before update

README source: README.md