-
Notifications
You must be signed in to change notification settings - Fork 0
Home
AppleBridge Paper is a lightweight plugin for Minecraft servers running on Paper.
It exposes a secure HTTP API that allows external tools such as Discord bots, scripts, and private panels to:
- execute Minecraft console commands
- read recent server log lines
- automate server actions remotely
The plugin does not include Discord code by itself.
It is the HTTP bridge between Minecraft and your external tools.
- Lightweight built-in HTTP API
-
POST /executefor remote command execution -
GET /logsfor recent console log output -
Authorizationheader protection /applebridge reload/applebridge status
Available builds:
1.16.x-1.18.x1.19.x-1.21.x
Tested on:
1.16.51.17.11.18.21.19.41.20.61.21.x
Should also work on Purpur for the same version ranges.
- Download the correct jar for your server version.
- Put it into the
plugins/folder. - Start the server.
- Open
plugins/AppleBridge/config.yml. - Configure the API and secret token.
- Restart the server or run
/applebridge reload.
If you run Minecraft on Linux, installation is the same, but the most common paths are:
/home/container/plugins/
/home/container/plugins/AppleBridge/config.yml
/home/container/logs/latest.log
This is common on:
- Ubuntu or Debian VPS servers
- Pterodactyl hosting
- Docker or container setups
If your bot is on the same Linux machine, use:
http://127.0.0.1:PORT/execute
This is the safest and simplest setup.
If your Minecraft server runs on Linux, the plugin works the same way as on Windows.
Typical Linux paths:
/home/container/plugins/
/home/container/plugins/AppleBridge/config.yml
/home/container/logs/latest.log
If your bot or script runs on the same machine as the Minecraft server, the safest setup is usually:
http://127.0.0.1:PORT/execute
This avoids exposing the API publicly.
enabled: true
port: 8080
secret: "CHANGE_ME"
log-buffer-size: 200Enables or disables the API.
The HTTP port used by AppleBridge.
Example:
http://127.0.0.1:8080/execute
The token required in the Authorization header.
If left as CHANGE_ME, the plugin will generate a random secret automatically.
Size of the in-memory recent log buffer.
-
/applebridge reload- reload config and restart API -
/applebridge status- show API status
Executes a command through the Minecraft console.
Example body:
{
"command": "say hello"
}Required header:
Authorization: YOUR_SECRET
Successful response:
OK
Returns recent server log lines.
Example:
GET /logs?limit=20
Notes:
-
limitis optional - default is
50 - maximum is
200
Invoke-RestMethod -Uri 'http://127.0.0.1:8080/execute' `
-Method POST `
-Headers @{ Authorization = 'YOUR_SECRET' } `
-ContentType 'application/json' `
-Body '{"command":"say hello from api"}'Invoke-RestMethod -Uri 'http://127.0.0.1:8080/logs?limit=20' `
-Method GET `
-Headers @{ Authorization = 'YOUR_SECRET' }curl -X POST http://127.0.0.1:8080/execute \
-H "Authorization: YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{"command":"say hello from linux"}'curl http://127.0.0.1:8080/logs?limit=20 \
-H "Authorization: YOUR_SECRET"curl -X POST http://YOUR_SERVER_IP:8080/execute \
-H "Authorization: YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{"command":"list"}'Because this plugin can execute console commands, you should always:
- use a strong random secret
- never publish the secret
- restrict access in your bot or external tool
- avoid exposing the API publicly unless necessary
If possible:
- run the bot and Minecraft on the same machine
- use
127.0.0.1 - restrict firewall access by IP
For Linux servers, also check:
-
ufw,iptables, orfirewalld - hosting firewall rules
- Docker or panel port mapping
If the API should be reachable externally, make sure the port is opened in both:
- your hosting panel
- your Linux firewall configuration
Usually means the Authorization token is wrong.
Check:
- correct IP or domain
- correct port
- whether the port is open
- whether the server is running
Check:
- the command is valid
- it works manually from the server console
This project is released under the Apache License 2.0.