@@ -38,8 +38,7 @@ All Minecraft backend servers are internal-only and can only be reached through
|
||||
Velocity is the public-facing entry point and the logical "hub" of the server network.
|
||||
|
||||
- Accepts player connections
|
||||
- Allows players to link their Minecraft account to their Discord account
|
||||
- Uses Discord membership to whitelist access to backend servers
|
||||
- Uses a whitelist to control access to the server network at the proxy level
|
||||
- Forwards traffic to backend servers using modern forwarding
|
||||
- Integrated with LuckPerms for centralized permissions
|
||||
- Handles chat messages and tab list to allow seamless communication between backend servers
|
||||
@@ -123,6 +122,7 @@ The `init` container is a one-shot helper service that prepares the environment
|
||||
|
||||
- Initialize and prepare named Docker volumes
|
||||
- Ensure the correct directory structure within volumes
|
||||
- Copy configuration files into volumes
|
||||
- Set appropriate ownership and permissions for volume contents
|
||||
- Support backup and restore scripts by managing volume data
|
||||
|
||||
@@ -151,7 +151,7 @@ Persistent server data, schematics, and databases are stored in named Docker vol
|
||||
The server stack is configured via environment variables, which are injected into the containers and, in some cases, the configuration files. These variables allow the stack to:
|
||||
|
||||
- Configure network ports, secrets, and authentication mechanisms
|
||||
- Provide centralized credentials for services such as RCON, LuckPerms, and Discord integration
|
||||
- Provide centralized credentials for services such as RCON and LuckPerms
|
||||
- Enable dynamic, environment-specific configuration without changing modifying repository files
|
||||
|
||||
### CI/CD Integration
|
||||
@@ -161,7 +161,7 @@ In deployments, the repository provides a `template.env` file that defines all t
|
||||
This approach allows:
|
||||
|
||||
- **Environment-specific configuration:** the same repository can be deployed to different environments (local, staging, production) with appropriate variables injected at deployment time.
|
||||
- **Secure injection of secrets:** sensitive values (RCON passwords, forwarding secrets, Discord bot tokens, etc.) are never stored directly in the repository, but are provided by the CI/CD system.
|
||||
- **Secure injection of secrets:** sensitive values (RCON passwords, forwarding secrets, etc.) are never stored directly in the repository, but are provided by the CI/CD system.
|
||||
- **Consistent container setup:** each service receives the variables it needs, and configuration files that reference `CFG_` variables are automatically populated at runtime.
|
||||
|
||||
### Key Variables
|
||||
@@ -172,17 +172,6 @@ This approach allows:
|
||||
| `BLUEMAP_PORT` | Host port where the BlueMap web interface is exposed. |
|
||||
| `RCON_PASSWORD` | The password for Remote Console (RCON) access. |
|
||||
| `FORWARDING_SECRET` | Secret key enabling secure communication between Velocity and backend servers. |
|
||||
| `DCLINK_GUILD` | Discord server (guild) ID where the linking bot operates. |
|
||||
| `DCLINK_CHANNEL` | Discord channel ID used by the linking bot. |
|
||||
| `DCLINK_ROLE` | Role ID assigned to Discord members when they link accounts. |
|
||||
| `DCLINK_TOKEN` | Discord bot token for API authentication. |
|
||||
| `LUCKPERMS_PASSWORD` | Password for the LuckPerms database user. |
|
||||
| `LUCKPERMS_PORT` | Host port for external access to the LuckPerms PostgreSQL database (used mainly for monitoring or admin tools) |
|
||||
|
||||
## dclink
|
||||
|
||||
This server uses [dclink](https://github.com/Kalimero2Team/dclink), a plugin that allows players to link their Minecraft and Discord accounts using a Discord bot. Server access is restricted to members of the configured Discord server, effectively using Discord membership as the whitelist.
|
||||
|
||||
Details on the Discord bot configuration can be found in the [dclink documentation](https://github.com/LaapulliDev/dclink/wiki).
|
||||
|
||||
**Note:** Account information is stored in a local database and used solely for access control purposes. The only data stored are the Minecraft account UUID and the corresponding Discord account ID.
|
||||
|
||||
Reference in New Issue
Block a user