Docker recipes for deploying game servers. All recipes are built on Alpine 3.20 base images with minimal footprint while maintaining full functionality.
| Game | Publisher | Status | Image | Auto-Update | Mods/Plugins |
|---|---|---|---|---|---|
| FiveM | Rockstar GTA V | Production | ghcr.io/nodebytehosting/games:fivem |
✓ | ✓ CFX.re |
| RedM | Rockstar RDR 2 | Coming Soon | ghcr.io/nodebytehosting/games:redm |
✓ | ✓ CFX.re |
| Rust | Facepunch | Production | ghcr.io/nodebytehosting/games:rust |
✓ | ✓ Oxide/Carbon |
| Hytale | Hypixel | Production | ghcr.io/nodebytehosting/games:hytale |
- | ✓ Plugins |
| Minecraft | Microsoft | Beta | ghcr.io/nodebytehosting/games:minecraft |
- | ✓ Plugins/Mods |
games/
├── README.md # This file
├── fivem/ # GTA V multiplayer server
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── recipe.json
│ └── README.md
├── redm/ # Red Dead Redemption 2 multiplayer server
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── recipe.json
│ └── README.md
├── rust/ # Rust multiplayer server
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── wrapper.js
│ ├── recipe.json
│ └── README.md
├── hytale/ # Hytale multiplayer server
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── recipe.json
│ └── README.md
├── minecraft/ # Minecraft multiplayer server
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── recipe.json
│ └── README.md
└── rockstar/ # Rockstar game servers
├── fivem/ # FiveM (GTA V)
└── redm/ # RedM (RDR 2)
A multiplayer modification framework for Grand Theft Auto V. Includes automatic resource downloading and server management.
docker run -it \
-e STARTUP="./FXServer.sh" \
-e AUTHORITATIVE=1 \
-e MAXPLAYERS=32 \
-p 30120:30120/tcp \
-p 30120:30120/udp \
ghcr.io/nodebytehosting/games:fivemFeatures:
- Automatic FXServer binary updates
- CFX.re resource support
- Admin management system
- Built-in economy system
- Multi-platform support (Linux/Windows)
See: FiveM Recipe
A multiplayer modification framework for Red Dead Redemption 2. Similar to FiveM with RDR2-specific optimizations.
docker run -it \
-e STARTUP="./FXServer.sh" \
-e AUTHORITATIVE=1 \
-p 30120:30120/tcp \
-p 30120:30120/udp \
ghcr.io/nodebytehosting/games:redmFeatures:
- Automatic FXServer binary updates
- CFX.re resource support
- Wild West gameplay framework
- Admin and whitelist management
See: RedM Recipe
A multiplayer survival game with modding support via Oxide and Carbon frameworks.
docker run -it \
-e STARTUP="./RustDedicated -batchmode -nographics -logFile -" \
-e AUTO_UPDATE=1 \
-e FRAMEWORK=vanilla \
-p 28015:28015/udp \
-p 28016:28016/tcp \
ghcr.io/nodebytehosting/games:rustFeatures:
- Automatic server binary updates via steamcmd
- Modding framework support (Vanilla/Oxide/Carbon)
- Output filtering (console spam reduction)
- Process management via Node.js wrapper
- LD_LIBRARY_PATH compatibility
See: Rust Recipe
A voxel sandbox MMO with extensive modding support and procedural generation.
docker run -it \
-e STARTUP="java -Xmx2048M -jar Server/HytaleServer.jar nogui" \
-e INSTALL_SOURCEQUERY_PLUGIN=0 \
-p 8515:8515/tcp \
-p 8516:8516/tcp \
ghcr.io/nodebytehosting/games:hytaleFeatures:
- Java 25 JRE runtime
- Plugin auto-installation support (hytale-sourcequery)
- Config.json customization
- Memory scaling recommendations
- Server binary mounting support
See: Hytale Recipe
A sandbox MMO with various server software options (Vanilla, Spigot, Paper, etc.).
docker run -it \
-e STARTUP="java -Xmx1024M -jar server.jar nogui" \
-p 25565:25565/tcp \
ghcr.io/nodebytehosting/games:minecraftFeatures:
- Multi-server-software support
- Plugin ecosystem
- World management
- Modpack deployment
- Memory scaling options
See: Minecraft Recipe
All game server recipes include:
- Alpine 3.20 Base - Minimal (~3.6MB) yet feature-complete
- Health Checks - Automatic container health monitoring
- Proper Signal Handling - Graceful shutdown on SIGTERM/SIGINT
- Environment Variables - Pterodactyl-compatible variable substitution
- Timezone Support - Configurable TZ variable
- Logging - Persistent console output and log files
- Multi-platform - Builds for amd64 and arm64
docker build -t my-rust:latest games/rust/docker build -t ghcr.io/nodebytehosting/games:rust games/rust/
docker push ghcr.io/nodebytehosting/games:rustdocker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
-t my-game:latest \
games/[game]/Each recipe uses environment variables for configuration. Common variables:
| Variable | Scope | Description |
|---|---|---|
STARTUP |
All | Server startup command (required) |
TZ |
All | Timezone (default: UTC) |
INTERNAL_IP |
All | Container IP (auto-detected) |
AUTO_UPDATE |
Rust, FiveM, RedM | Auto-update binaries on startup |
FRAMEWORK |
Rust | Modding framework: vanilla, oxide, carbon |
MAXPLAYERS |
FiveM, RedM | Maximum player slots |
AUTHORITATIVE |
FiveM, RedM | Authoritative mode (1/0) |
See individual recipe READMEs for complete configuration options.
All recipes support Pterodactyl's variable substitution syntax:
# In STARTUP variable
STARTUP="./RustDedicated -server.port {{SERVER_PORT}} -server.maxplayers {{MAX_PLAYERS}}"
# Translates to:
./RustDedicated -server.port 28015 -server.maxplayers 50Available Pterodactyl variables:
{{SERVER_PORT}}- Primary server port{{MAX_PLAYERS}}- Maximum player count{{MEMORY}}- Available memory (MB)- Any custom environment variable via
{{VARIABLE_NAME}}
| Game | Min | Recommended | High Load |
|---|---|---|---|
| Rust (10-50 players) | 2GB | 4GB | 6GB+ |
| Rust (50-100 players) | 4GB | 6GB | 8GB+ |
| FiveM (50 players) | 2GB | 4GB | 6GB |
| RedM (50 players) | 2GB | 4GB | 6GB |
| Hytale (1-50 players) | 1GB | 2-4GB | 6GB+ |
| Minecraft (20-50 players) | 1GB | 2-3GB | 4GB+ |
All game recipes follow consistent tagging:
ghcr.io/nodebytehosting/games:rust- Latest stableghcr.io/nodebytehosting/games:rust-dev- Development branchghcr.io/nodebytehosting/games:rust-v1.0.0- Semantic version releaseghcr.io/nodebytehosting/games:latest- Latest across all games
- Check
STARTUPvariable is set - Verify all dependencies are installed
- Check logs:
docker logs <container-id>
- Reduce JVM
-Xmxsetting (Java-based games) - Check for memory leaks in plugins/mods
- Monitor with:
docker stats
- Ensure ports aren't in use:
netstat -tlnp | grep :PORT - Map to different host port:
-p 8080:28015
- Verify port forwarding on router/firewall
- Check internal IP:
docker inspect <container-id> - Test connectivity:
curl <container-ip>:<port>
- Check internet connectivity in container
- Verify download URLs are accessible
- Check disk space:
docker exec <container-id> df -h
To add a new game server recipe:
- Create
games/[publisher]/[game]/directory - Add
Dockerfile(Alpine 3.20 base, follows standards) - Add
entrypoint.sh(handles startup, variables, logging) - Add
README.md(documentation) - Add
recipe.json(Pterodactyl config, optional) - Update
.github/workflows/games.ymlmatrix - Update main
README.mdgames table
See Rust Recipe as a reference implementation.
MIT License - See LICENSE for details.