You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/first-server.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,9 @@ Have these ready before you start:
4
4
5
5
- Whether the server runs **Bedrock or Java**.
6
6
- The address Admincraft should reach, and the port.
7
-
- The bridge's `SECRET_KEY`, or the `rcon.password` if you are connecting straight to a Java server.
7
+
- A bridge access key (`ADMIN_SECRET_KEY`, `COMMAND_SECRET_KEY`,
8
+
`READ_ONLY_SECRET_KEY`, or legacy `SECRET_KEY`), or the `rcon.password` if you
9
+
are connecting straight to a Java server.
8
10
- For a self-signed endpoint, the server's `.crt` file.
9
11
10
12
If any of that is unfamiliar, [what each connection field means](../guides/connection-fields.md) explains where the values come from.
@@ -17,7 +19,7 @@ On a fresh install Admincraft opens on a welcome screen: choose **Add your first
17
19
2. Choose the **Minecraft edition**. It must match the bridge's `SERVER_TYPE`.
18
20
3. Choose the **Connection type**. Do this before the fields below, because the address and port labels change to match it.
19
21
4. Fill in the address and port. What they refer to depends on the connection type: the bridge for every type except direct RCON, where it is the Minecraft server itself.
20
-
5. Enter the **Bridge secret key**, or the RCON password for a direct connection.
22
+
5. Enter the **Bridge access key**, or the RCON password for a direct connection.
21
23
6. For a self-signed endpoint, load the certificate.
Copy file name to clipboardExpand all lines: docs/getting-started/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This section is for the person running the Minecraft server or its Admincraft
4
4
bridge. If that infrastructure already exists and you only need to use the
5
5
app, start with [Install Admincraft](install.md) instead.
6
6
7
-
Admincraft is built around [itzg's Minecraft containers](https://github.com/itzg/docker-minecraft-bedrock-server), which is where it does the most: a live console, world controls and a restart button, on Bedrock and Java alike. It also speaks plain RCON, so an existing Java server can be managed without changing anything about how it runs.
7
+
Admincraft is built around [itzg's Minecraft containers](https://github.com/itzg/docker-minecraft-bedrock-server), which is where it does the most: a live console, world controls and start, stop, and restart buttons, on Bedrock and Java alike. It also speaks plain RCON, so an existing Java server can be managed without changing anything about how it runs.
8
8
9
9
Two arrangements are therefore possible, and the difference matters enough to choose deliberately.
10
10
@@ -20,7 +20,7 @@ Two arrangements are therefore possible, and the difference matters enough to ch
20
20
| Live server console | ✅ | ✅ | ❌ RCON cannot stream it |
21
21
| Time, weather, game rules | ✅ | ✅ | ✅ on refresh |
22
22
| Player list | ✅ live | ✅ live | ✅ on refresh |
23
-
|Restart the server | ✅ | ✅ | ❌ no container control |
23
+
|Start, stop, or restart the server | ✅ | ✅ | ❌ no container control |
24
24
| Works in the browser | ✅ | ✅ | ❌ no raw sockets |
25
25
| Can be encrypted without a VPN | ✅ TLS | ✅ TLS | ❌ never |
Copy file name to clipboardExpand all lines: docs/guides/connection-fields.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Admincraft. A direct RCON profile is intentionally different.
20
20
|**Minecraft edition**| Which kind of server the bridge should drive. Bedrock uses the container console; Java uses RCON. | Match your server. |
21
21
|**Address**| The machine running the `websocket` container. The label changes with the connection type, and names the Minecraft server instead for direct RCON. | Tailscale address, `ts.net` hostname, or public IP. |
22
22
|**Bridge port**| The port the bridge listens on. |`8080` normally, `443` behind Tailscale Funnel. |
23
-
|**Bridge secret key**| The bridge's own key, used to sign the token Admincraft sends. |`SECRET_KEY` in the bridge's `docker-compose.yml`. |
23
+
|**Bridge access key**| The bridgekey used to sign the token Admincraft sends. Its configured scope determines available controls. |`ADMIN_SECRET_KEY`, `COMMAND_SECRET_KEY`, `READ_ONLY_SECRET_KEY`, or legacy `SECRET_KEY` in the bridge environment. |
24
24
|**Connection type**| Which setup you have. The address and port fields relabel themselves to match. | See [connection security](connection-security.md), or [direct RCON](#direct-rcon-with-no-bridge). |
25
25
26
26
## Why Java does not ask for RCON details
@@ -30,7 +30,7 @@ Choosing **Java Edition** changes which backend the *bridge* uses, not where Adm
30
30
```yaml
31
31
websocket:
32
32
environment:
33
-
SECRET_KEY: YOUR_SECRET_KEY_HERE #← this is the "Bridge secret key"
@@ -91,7 +91,7 @@ The setup from the [Bedrock guide](../server/SERVER_SETUP.md#alternative-tailsca
91
91
| Minecraft edition | `Bedrock Edition` |
92
92
| Address | `my-server.tailnet-name.ts.net` |
93
93
| Bridge port | `443` |
94
-
| Bridge secret key | the `SECRET_KEY` from your compose file |
94
+
| Bridge access key | one of the scoped bridge keys, or legacy `SECRET_KEY` |
95
95
| Connection type | `Public address, trusted certificate` |
96
96
97
97
The address preview under the dropdown should read `wss://my-server.tailnet-name.ts.net:443`.
@@ -103,7 +103,7 @@ The address preview under the dropdown should read `wss://my-server.tailnet-name
103
103
| Minecraft edition | `Java Edition` |
104
104
| Address | `100.101.102.103` |
105
105
| Bridge port | `8080` |
106
-
| Bridge secret key | the `SECRET_KEY` from your compose file |
106
+
| Bridge access key | one of the scoped bridge keys, or legacy `SECRET_KEY` |
107
107
| Connection type | `Private network (Tailscale, VPN or LAN)` |
108
108
109
109
The preview reads `ws://100.101.102.103:8080`. That is unencrypted by design, and safe only because Tailscale already encrypts the route. It will not work from the hosted web app: see [using the web app](web-app.md#tailscale-in-the-web-app).
@@ -114,7 +114,8 @@ Work down the chain, since each step rules out everything before it:
114
114
115
115
1. **Is the preview the address you expect?** It is shown live under the security dropdown.
116
116
2. **Is the port the bridge's port?** Not `19132` (Bedrock game), not `25575` (Java RCON).
117
-
3. **Is the key the bridge's `SECRET_KEY`?** Not the RCON password, not the Minecraft allowlist.
117
+
3. **Is the key one configured by the bridge?** Use an admin, command,
118
+
read-only, or legacy key—not the RCON password or Minecraft allowlist.
118
119
4. **Does the connection type match the address?** `Private network` gives
119
120
`ws://`and only works over a private route. For **Public certificate**, use
120
121
the exact hostname or IP address covered by the certificate; a hostname is
Copy file name to clipboardExpand all lines: docs/guides/connection-security.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,27 @@
1
1
# Connection security
2
2
3
-
The Admincraft WebSocket can execute commands and restart the server. Its traffic must therefore be protected either by the network or by TLS.
3
+
The Admincraft WebSocket can execute commands and start, stop, or restart the server container. Its traffic must therefore be protected either by the network or by TLS.
4
+
5
+
## Choose the least-powerful access key
6
+
7
+
A current bridge can expose separate keys for different jobs. Put the chosen
Copy file name to clipboardExpand all lines: docs/server/SERVER_SETUP.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,7 @@ sudo netfilter-persistent save
73
73
74
74
3. Edit the [docker-compose.yml](docker-compose.yml) file:
75
75
76
-
- Change the `services.websocket.environment.SECRET_KEY` variable for a strong password you will use to control the server with Admincraft. Generate one with `openssl rand -hex 32` and keep it out of any public repository: anyone holding it can run commands on your server.
76
+
- Change the `services.websocket.environment.SECRET_KEY` variable for a strong full-access key you will use to control the server with Admincraft. Generate one with `openssl rand -hex 32` and keep it out of any public repository: anyone holding it can run commands and manage the container. Current bridges can instead use `ADMIN_SECRET_KEY`, `COMMAND_SECRET_KEY`, and `READ_ONLY_SECRET_KEY` to issue least-privilege keys; see [Connection security](../guides/connection-security.md#choose-the-least-powerful-access-key).
77
77
- Change any other variables you like in `services.minecraft`, like the `LEVEL_NAME` or `LEVEL_SEED`, you can see a full list [here](https://github.com/itzg/docker-minecraft-bedrock-server?tab=readme-ov-file#server-properties).
78
78
79
79
4. Make sure to edit the [backups-config/config.yml](backups-config/config.yml) file, the `worlds` setting should match the one you have introduced in the setting `LEVEL_NAME` in the [docker-compose.yml](docker-compose.yml). You can also change the backups frequency as you like.
0 commit comments