
NeoForge Minecraft server with modern mod support. NeoForge is a modern fork of Forge with improved performance, updated modding APIs, and active development for the latest Minecraft versions. Supports automatic version resolution and Aikar's flags. Runs in Docker for isolated resource management.
Here's what you need to run a Minecraft - NeoForge dedicated server.
Small server, 1-10 players
Community server, 10-40 players
Large server, 40-200 players
Start hosting from your own computer
Run a Minecraft - NeoForge server on your desktop, laptop, VPS, or dedicated machine — GameCP automates Docker setup, resource allocation, and Minecraft - NeoForge configuration instantly. Automatic port forwarding means your friends can connect without touching your router. Start local, scale to a VPS when you're ready.
Skip the manual installation, port forwarding, and configuration. Install on your own computer and start hosting instantly.
The full manual process to host a Minecraft - NeoForge dedicated server on a VPS. Or install GameCP on your own computer and skip all of this.
Set your server settings, then install Docker, and pull the Minecraft - NeoForge container image.
# Update system and install Docker sudo apt update && sudo apt install -y docker.io sudo systemctl enable --now docker # Create game server directory sudo mkdir -p /opt/gameserver # Server configuration export GAMEMODE="survival" export DIFFICULTY="easy" export LEVEL_NAME="world" export PVP="true" export SPAWN_MONSTERS="true" export WHITE_LIST="false" export ALLOW_FLIGHT="true" export SPAWN_PROTECTION="16" export HARDCORE="false" export FORCE_GAMEMODE="false" export ALLOW_NETHER="true" export LEVEL_TYPE="minecraft:normal" export GENERATE_STRUCTURES="true" export ONLINE_MODE="true" export ENFORCE_WHITELIST="false" export ENFORCE_SECURE_PROFILE="true" export ENABLE_RCON="false" export ENABLE_QUERY="true" export ENABLE_STATUS="true" export ENABLE_COMMAND_BLOCK="false" export VIEW_DISTANCE="10" export SIMULATION_DISTANCE="10" export MAX_TICK_TIME="60000" export NETWORK_COMPRESSION_THRESHOLD="256" # Pull the container image docker pull eclipse-temurin:25-jdk-alpine
Minecraft - NeoForge uses a custom install script to download and configure the server files.
#!/bin/bash
apt update
apt install -y wget curl jq xmlstarlet
cd /opt/gameserver || { echo "Failed to change directory to /opt/gameserver"; exit 1; }
# Accept EULA
echo "Accepting EULA..."
echo "eula=true" > eula.txt
# Resolve Minecraft version
MC_VERSION="${MINECRAFT_VERSION:-latest}"
NEOFORGE_MAVEN="https://maven.neoforged.net/releases/net/neoforged/neoforge"
if [ "$MC_VERSION" = "latest" ] || [ -z "$MC_VERSION" ]; then
echo "Fetching latest NeoForge version..."
XML_DATA=$(curl -sSL "$NEOFORGE_MAVEN/maven-metadata.xml")
NEOFORGE_VERSION=$(echo "$XML_DATA" | xmlstarlet sel -t -v '/metadata/versioning/release' 2>/dev/null)
if [ -z "$NEOFORGE_VERSION" ]; then
NEOFORGE_VERSION=$(echo "$XML_DATA" | grep -oP '<release>[^<]+</release>' | sed 's/<[^>]*>//g')
fi
MC_VERSION="1.$(echo "$NEOFORGE_VERSION" | cut -d'.' -f1-2)"
echo "Latest NeoForge version: $NEOFORGE_VERSION (MC $MC_VERSION)"
else
echo "Using specified MC version: $MC_VERSION"
# Derive version key from MC version (e.g., 1.21.4 -> 21.4)
if echo "$MC_VERSION" | grep -qP '^d+.d+.d+$'; then
VERSION_KEY="$(echo "$MC_VERSION" | cut -d'.' -f2-)."
else
VERSION_KEY="$(echo "$MC_VERSION" | cut -d'.' -f2-)"
fi
echo "Resolving NeoForge version for key: $VERSION_KEY"
XML_DATA=$(curl -sSL "$NEOFORGE_MAVEN/maven-metadata.xml")
NEOFORGE_VERSION=$(echo "$XML_DATA" | grep -oP '<version>[^<]+</version>' | sed 's/<[^>]*>//g' | grep "^$VERSION_KEY" | tail -1)
if [ -z "$NEOFORGE_VERSION" ]; then
echo "ERROR: No NeoForge version found for MC $MC_VERSION!"
exit 1
fi
echo "Resolved NeoForge version: $NEOFORGE_VERSION"
fi
# Download NeoForge installer
INSTALLER_JAR="neoforge-$NEOFORGE_VERSION-installer.jar"
DOWNLOAD_URL="$NEOFORGE_MAVEN/$NEOFORGE_VERSION/$INSTALLER_JAR"
echo "Downloading NeoForge installer..."
wget -q "$DOWNLOAD_URL" -O "$INSTALLER_JAR"
if [ ! -f "$INSTALLER_JAR" ]; then
echo "ERROR: Failed to download NeoForge installer!"
exit 1
fi
# Clean previous install for upgrade/downgrade support
rm -rf libraries/net/neoforged/neoforge
rm -f unix_args.txt
# Run installer
echo "Running NeoForge installer..."
java -jar "$INSTALLER_JAR" --installServer || { echo "NeoForge install failed!"; exit 1; }
# Set up unix_args.txt symlink
if [ -d "libraries/net/neoforged/neoforge/$NEOFORGE_VERSION" ]; then
ln -sf "libraries/net/neoforged/neoforge/$NEOFORGE_VERSION/unix_args.txt" unix_args.txt
fi
if [ ! -f unix_args.txt ]; then
echo "ERROR: Installer did not generate unix_args.txt!"
exit 1
fi
# Cleanup
rm -f "$INSTALLER_JAR"
rm -f run.bat run.sh
echo "NeoForge server installed successfully."\n\necho "Install Completed"Minecraft - NeoForge requires 3 ports to be open for game traffic and queries.
sudo ufw allow 25565/tcp sudo ufw allow 25575/tcp sudo ufw allow 25566/both
Start the Minecraft - NeoForge server using the configuration from Step 1.
docker run -d \ --name minecraft-java-neoforge-server \ -p 25565:25565/tcp \ -p 25575:25575/tcp \ -p 25566:25566/both \ -e GAMEMODE="survival" \ -e DIFFICULTY="easy" \ -e LEVEL_NAME="world" \ -e PVP="true" \ -e SPAWN_MONSTERS="true" \ -e WHITE_LIST="false" \ -e ALLOW_FLIGHT="true" \ -e SPAWN_PROTECTION="16" \ -e HARDCORE="false" \ -e FORCE_GAMEMODE="false" \ -e ALLOW_NETHER="true" \ -e LEVEL_TYPE="minecraft:normal" \ -e GENERATE_STRUCTURES="true" \ -e ONLINE_MODE="true" \ -e ENFORCE_WHITELIST="false" \ -e ENFORCE_SECURE_PROFILE="true" \ -e ENABLE_RCON="false" \ -e ENABLE_QUERY="true" \ -e ENABLE_STATUS="true" \ -e ENABLE_COMMAND_BLOCK="false" \ -e VIEW_DISTANCE="10" \ -e SIMULATION_DISTANCE="10" \ -e MAX_TICK_TIME="60000" \ -e NETWORK_COMPRESSION_THRESHOLD="256" \ -v /opt/gameserver:/opt/gameserver \ -w /opt/gameserver \ eclipse-temurin:25-jdk-alpine \ -Xmx -Xms -Dterminal.jline=false -Dterminal.ansi=true @unix_args.txt
Alternative startup profiles:
GameCP lets you switch between these profiles with one click.
GameCP automates every step above: Docker, port forwarding, startup, and config. Install on your own PC and deploy a Minecraft - NeoForge server in under 5 minutes.
Deploy with GameCPExplore step-by-step setup guides for other popular games supported by GameCP.
Install GameCP on your own computer and start hosting in minutes. Automatic port forwarding, zero config — your friends connect instantly.
No credit card required · Free tier available · Install local, scale later