.. | ||
pm2 | ||
docker-compose.yml | ||
Dockerfile | ||
eula | ||
forwarding.secret | ||
README.md | ||
start.sh | ||
velocity.toml |
Velocity Minecraft Proxy with Holesail Integration
This repository contains a Docker-based setup for running a Velocity Minecraft Proxy integrated with Holesail for peer-to-peer connections. The setup uses Velocity for managing Minecraft server connections and Holesail for managing secure connections to backend servers.
Features
- Velocity Proxy: Lightweight and flexible proxy for Minecraft servers.
- Holesail Integration: Seamlessly integrates Holesail for peer-to-peer connections.
- Node.js and PM2: Manages the Minecraft proxy process with ease.
- Ubuntu Base: Secure and updated environment using the latest Ubuntu image.
- Modular Setup: Easily configurable Docker setup for various services.
Prerequisites
- Docker and Docker Compose installed on the host system.
- Basic understanding of Docker and Minecraft server administration.
Folder Structure
.
├── Dockerfile # Sets up the environment and configures the Velocity proxy.
├── pm2/startServer.json # PM2 configuration to manage the Minecraft server process.
├── start.sh # Shell script to start the Velocity proxy.
├── velocity.toml # Configuration file for the Velocity proxy.
├── forwarding.secret # Secret file for secure communication (currently empty).
├── docker-compose.yml # Docker Compose file for service orchestration.
Getting Started
Clone the Repository
git clone https://github.com/your-repo/velocity-image.git
cd velocity-image
Build and Run the Docker Containers
-
Build the Holesail connector image:
cd ../holesail-connector docker build -t holesail-connector .
-
Navigate back to the Velocity directory:
cd ../velocity-image
-
Run the services with Docker Compose:
docker-compose up -d
Configuration
-
velocity.toml
:- Modify the
bind
setting to change the proxy's listening address and port. - Update the
motd
to customize the server's display message. - Add or update server configurations under
[servers]
and[forced-hosts]
.
- Modify the
-
PM2 Configuration (
pm2/startServer.json
):- Modify the JVM options in the
script
field to adjust memory or garbage collection settings.
- Modify the JVM options in the
-
Holesail:
- The Holesail connector is pre-configured. For custom configurations, refer to the Holesail documentation.
Usage
-
Access Logs: View the PM2 logs:
docker exec -it volicy-proxy su - mc -c "pm2 log"
-
Restart the Proxy:
docker restart volicy-proxy
-
Stop All Services:
docker-compose down
Notes
- Ensure
forwarding.secret
is configured for secure player forwarding if needed. - Default root password is
noshallpass
. Change it for better security. - Modify the
max_restarts
in thepm2/startServer.json
file if you need more restart attempts.