Website Hosts UK provides ready application choices for Minecraft, Factorio and Luanti on configurable VPS or dedicated-CPU VDS hosting. The application image gives you a faster starting point, but the service remains self-managed after deployment.
This guide explains the decisions that come next: whether you need Vanilla, Paper, a mod loader or Pterodactyl; how Factorio headless hosting differs from Minecraft; how Luanti games and Lua mods fit together; and how to use SSH or FileZilla SFTP to work with the server safely.
Four decisions before setting up a game server
Choose the game
Minecraft, Factorio and Luanti have different software, save formats and mod systems.
Choose the software
Vanilla, Paper and mod loaders apply to Minecraft. Factorio and Luanti use their own server models.
Choose how to manage it
Use SSH and SFTP directly, or install a panel such as Pterodactyl for browser-based control.
Back up before changes
Stop the game cleanly and copy worlds, saves, mods and configuration before replacing files.
What the Ready Application Images Deploy
The checkout lets you choose a prepared application image instead of beginning with an empty Linux installation. At the time this guide was prepared, the available London image choices were:
| Application | Image | Provisioning minimum |
|---|---|---|
| Minecraft | Minecraft latest on Ubuntu Server 24.04 | 1 CPU; choose practical RAM and storage for the intended world |
| Factorio | Factorio 2.0.69 on Ubuntu Server 24.04 | 2 CPU, 2GB RAM and 20GB disk |
| Luanti | Luanti 5.14 on Ubuntu Server 24.04 | 2 CPU, 2GB RAM and 10GB disk |
A server may deploy successfully at the image minimum and still need more RAM or CPU for a growing world, several players, plugins, mods, backups or sustained simulation. Start with useful headroom rather than treating the minimum as a performance guarantee.
The image speeds up deployment, but it does not turn the service into managed game hosting. You remain responsible for the game configuration, updates, firewall choices, user permissions, mods, plugins, save files, monitoring and tested backups.
Minecraft vs Factorio vs Luanti: Which Server Are You Building?
| Decision | Minecraft | Factorio | Luanti |
|---|---|---|---|
| Main experience | Building, survival, adventure, mini-games and broad community support | Persistent factories, automation, logistics and cooperative production | Open-source voxel engine with installable games and Lua modifications |
| Server model | Java or Bedrock server software, depending on edition | Dedicated headless Factorio process loading a save | Luanti engine running a selected game and world |
| Extensions | Plugins, data packs or mod-loader mods | Factorio mods and scenarios | Games, Lua mods and texture packs |
| Common growth pressure | Player count, view distance, entities, plugins and mod packs | Factory size, active entities, trains, robots, circuits and mods | World generation, active players, selected game and Lua mod workload |
| Dedicated CPU becomes useful | When tick performance or busy periods become inconsistent | When sustained simulation load grows with the factory | When terrain generation, players or mods create sustained demand |
Choose the game first. Do not choose Pterodactyl, Paper or FileZilla as though they are alternative games. They solve different parts of the setup.
Game Server Software: What Can You Install?
The ready application image gives you a working starting point. You can keep that setup, replace the game software with another compatible option, or rebuild the server around a management panel. The important part is choosing software that belongs to the game you are hosting.
Minecraft Java server choices
| Software | Best suited to | Extension type | Installation route |
|---|---|---|---|
| Vanilla | The standard Minecraft Java experience with the fewest moving parts | Data packs and ordinary server configuration | Official Mojang server JAR |
| Paper | Most plugin-based community servers needing performance controls and administration plugins | Paper, Bukkit and Spigot-compatible plugins, subject to plugin compatibility | Paper server JAR |
| Purpur | Paper-compatible servers wanting additional gameplay and configuration controls | Paper/Bukkit-style plugins | Purpur server JAR |
| Spigot | Established plugin-based servers that specifically require Spigot behaviour or compatibility | Bukkit/Spigot plugins | BuildTools-generated server JAR |
| Fabric | Lightweight modded servers and performance-focused mod collections | Fabric Loader mods; Fabric API is commonly required | Fabric server installer |
| Forge | Forge mod packs and established modded Minecraft releases | Forge mods | Forge installer in server mode |
| NeoForge | Modern mod packs built specifically for the NeoForge ecosystem | NeoForge mods | NeoForge installer in server mode |
| Velocity | Connecting several separate Minecraft Java backend servers behind one proxy | Proxy plugins | Separate proxy JAR; not a replacement for the backend game servers |
| Bedrock Dedicated Server | Minecraft Bedrock players on supported devices | Bedrock add-ons and server configuration | Official Bedrock server package for Ubuntu |
A Minecraft Java server is not automatically a Bedrock server. Cross-play usually requires an additional bridge such as Geyser and careful configuration. Choose the edition your players actually use before installing plugins or mods.
Factorio server choices
Factorio has fewer alternative server engines than Minecraft. The main choices are how the official headless server is deployed and managed:
- Ready Factorio application image: the fastest route on the Website Hosts UK checkout.
- Official Linux headless package: downloaded directly and run with a selected save.
- systemd-managed installation: the headless process is registered as a Linux service so it can restart automatically.
- Docker container: useful when you already understand volumes, environment variables, networking and container updates.
- Pterodactyl: runs the Factorio instance through a supported egg and Wings node.
These routes still run Factorio's dedicated server. They are not separate Factorio gameplay engines comparable to Minecraft Paper or Fabric.
Luanti server choices
Luanti is an engine, so the most important software choice is the game loaded by the engine. Common deployment routes are:
- Ready Luanti application image: deploys the prepared Ubuntu-based server environment.
- Ubuntu package installation: installs Luanti through the operating-system package manager where the required version is available.
- Official or project release build: used when you need a newer release than the distribution package.
- Docker container: isolates the engine while persistent worlds and configuration are mounted outside the container.
- Pterodactyl: manages the Luanti process through a compatible egg.
After the engine is installed, choose a compatible game, create or upload a world, then enable the required Lua mods for that world.
Paper plugins extend a Minecraft plugin server. Fabric, Forge and NeoForge load Minecraft mods. Luanti games provide the base gameplay. Pterodactyl manages server processes. FileZilla only transfers files. None of these terms should be used interchangeably.
Three Ways to Install Game Server Software
1. Keep the ready application image
This is the simplest option. Select Minecraft, Factorio or Luanti in checkout and allow the prepared image to deploy. Use SSH to inspect the running service and configuration, or use FileZilla SFTP to transfer files. This avoids reinstalling the base game unnecessarily.
2. Install or replace software over SSH
SSH is the correct method when the software has an installer, startup command or service configuration. A normal workflow is:
- Back up the existing game directory.
- Stop the existing game service.
- Create a separate directory for the replacement software.
- Download the official installer or server package.
- Run the installer or extract the package.
- Accept any required licence or EULA.
- Create a startup script or systemd service.
- Start it manually and read the logs.
- Enable automatic startup only after it works correctly.
3. Upload prepared files with FileZilla SFTP
If you are not comfortable typing Linux commands, FileZilla is often easier for moving server JARs, mod packs, plugins, worlds and configuration. It does not install or start software by itself. You will still need a small amount of SSH access to stop the old service, run an installer where required, correct permissions and start the new software.
Use FileZilla for uploading and organising files. Use SSH or Pterodactyl's console to execute installers, accept the Minecraft EULA, start processes and read errors.
What Pterodactyl Does β and What It Does Not Do
Pterodactyl is a free, open-source game server management panel. It provides a browser interface for managing game instances, consoles, files, schedules, resource limits and user access. Its Wings component runs game server workloads through Docker containers.
Pterodactyl can be useful when:
- You want to start and stop game servers through a browser.
- You plan to manage several game instances from one panel.
- You want separate user access without sharing the root login.
- You want a web console, file manager, schedules and resource controls.
Pterodactyl is not required to run Minecraft, Factorio or Luanti. A game can run directly as a Linux process or service. Installing Pterodactyl adds another platform to secure, update, back up and troubleshoot, including the panel, database, web server, Docker and Wings.
A ready game application may already be configured to run directly. Installing Pterodactyl over the same files without planning can create port conflicts, duplicate services and confusing file ownership. Decide whether you are keeping the direct application setup or rebuilding the game inside Pterodactyl.
Your First SSH Login
SSH gives you command-line access to the Linux server. The details you normally need are the public IP address, the username supplied with the server and either a password or an SSH private key.
Connect from Windows PowerShell or Terminal
Open PowerShell or Windows Terminal and enter:
ssh root@YOUR_SERVER_IP
Replace YOUR_SERVER_IP with the server's public IPv4 address. The first connection may ask whether you trust the server's host key. Check that you are connecting to the expected IP, then accept it. Enter the password when prompted; the terminal does not display password characters while you type.
Useful first checks
hostname
uptime
free -h
df -h
ip address
These commands show the server name, running time, memory, disk usage and network addresses. They do not modify the game.
Find the running game service
systemctl --type=service --state=running | grep -Ei 'minecraft|factorio|luanti'
The exact service name and directory depend on the application image. Record the service name before following instructions that say to stop, start or restart it. Do not guess and do not delete files merely because their location looks unfamiliar.
Do not give the root password to players or casual administrators. Create controlled access or use a management panel when several people need to operate the game server.
Using FileZilla to Upload Mods, Worlds and Saves
FileZilla Client supports SFTP, which transfers files through SSH. It is useful for people who prefer dragging files between their computer and the server instead of using command-line copy tools.
FileZilla SFTP connection settings
- Protocol: SFTP β SSH File Transfer Protocol
- Host: your server's public IP address
- Port: 22
- Logon type: password or key file, depending on the server login
- User: the username supplied with the server
Use File β Site Manager to save the connection. On the first connection, verify the host-key prompt refers to the expected server. The left side of FileZilla shows files on your computer; the right side shows the remote server.
Use SFTP rather than plain FTP
You do not need to install an FTP server merely to move mods or save files. SFTP is already carried over the encrypted SSH service. Opening a separate unencrypted FTP service creates unnecessary credentials, ports and maintenance.
Before replacing live game files
- Tell players that maintenance is starting.
- Save the world or game cleanly using the appropriate console command.
- Stop the relevant game service.
- Download or copy the current world, save, mods and configuration.
- Upload the new files to the correct directory.
- Check file ownership and permissions.
- Start the service and read the logs before allowing players back.
How to Install Minecraft Server Software
Find the current service name and server directory, stop the service, then back up the whole directory. Install replacement software in a new folder first rather than overwriting a working server immediately.
Install Minecraft Vanilla over SSH
Vanilla uses the official Minecraft Java server JAR. The exact download URL changes with each release, so copy the current server link from Minecraft's official Java server download page.
mkdir -p /opt/minecraft-vanilla
cd /opt/minecraft-vanilla
# Download the current official server JAR using the URL copied from minecraft.net
curl -L "OFFICIAL_SERVER_JAR_URL" -o server.jar
# First launch creates eula.txt and the initial files
java -Xms2G -Xmx4G -jar server.jar nogui
Read the EULA, then change eula=false to eula=true only when you agree to it. Start the server again and adjust -Xms and -Xmx to fit the RAM assigned to the server.
Install Paper over SSH
Download the Paper JAR for the exact Minecraft version you intend to run. Paper's Java requirement depends on the Minecraft/Paper release, so check its current version table before installing Java.
mkdir -p /opt/minecraft-paper
cd /opt/minecraft-paper
# Upload or download the chosen Paper JAR, then rename it consistently
mv paper-*.jar paper.jar
java -Xms2G -Xmx4G -jar paper.jar nogui
After the first launch and EULA acceptance, Paper creates its configuration and plugins directory. Upload compatible plugin JAR files into plugins, then restart and read the console for missing dependencies or unsupported versions.
Install Purpur
Purpur is based on Paper and is installed in the same general way: download the correct Purpur JAR, place it in its own directory, launch it with Java, accept the EULA and then add compatible plugins. Keep the old Paper or Vanilla installation available until the world has been tested.
mkdir -p /opt/minecraft-purpur
cd /opt/minecraft-purpur
mv purpur-*.jar purpur.jar
java -Xms2G -Xmx4G -jar purpur.jar nogui
Install Spigot
Spigot is normally built using BuildTools rather than downloaded as an ordinary prebuilt server JAR. Install the Java and Git versions required by the current BuildTools instructions, run BuildTools for the chosen Minecraft version, then launch the generated Spigot JAR. Because build requirements can change, follow Spigot's current official BuildTools page rather than copying an old command from a forum.
Install Fabric server software
Download the Fabric installer JAR, select the required Minecraft and loader versions, and use its server installation option. A typical command-line flow is:
mkdir -p /opt/minecraft-fabric
cd /opt/minecraft-fabric
# Upload the current Fabric installer JAR into this directory
java -jar fabric-installer.jar server \
-mcversion YOUR_MINECRAFT_VERSION \
-loader YOUR_LOADER_VERSION \
-downloadMinecraft
# Start using the generated launcher JAR
java -Xms2G -Xmx4G -jar fabric-server-launch.jar nogui
Many Fabric mods also require Fabric API. Place server-compatible Fabric mods and their dependencies in the generated mods directory. Players may need the same loader, mods and versions on their own computers.
Install Forge server software
Download the Forge installer for the exact Minecraft and Forge version required by the mod pack, upload it, then run the server-install mode documented for that release. Modern Forge installations commonly generate Linux startup files and an argument file rather than one simple universal server JAR.
mkdir -p /opt/minecraft-forge
cd /opt/minecraft-forge
# Upload the matching Forge installer first
java -jar forge-installer.jar --installServer
# Use the generated Linux startup script when supplied
chmod +x run.sh
./run.sh
Accept the EULA after the first run, then upload the complete mod pack's server files and mods. Use the Java version specified by the mod pack or Forge release.
Install NeoForge server software
NeoForge supplies a server installer JAR. Download the installer version required by the mod pack, install it into a clean directory and use the generated startup files.
mkdir -p /opt/minecraft-neoforge
cd /opt/minecraft-neoforge
# Upload the matching NeoForge installer
java -jar neoforge-installer.jar --installServer
chmod +x run.sh
./run.sh
Do not assume Forge mods work on NeoForge or vice versa. Follow the mod-pack author's stated loader and version.
Install Minecraft Bedrock Dedicated Server
Use Mojang's official Ubuntu Bedrock package. Download and extract it into a clean directory, ensure the documented libraries are present, then start the Bedrock executable using the environment and command shown in Mojang's current instructions. Bedrock uses different files, configuration and ports from Java Edition.
Install a Minecraft server through Pterodactyl
- Install and secure the Pterodactyl panel and Wings node, or use an existing working installation.
- Create a node allocation for the required Minecraft port.
- Select an egg matching Vanilla, Paper, Fabric, Forge, NeoForge or another supported server type.
- Enter the Minecraft and software versions requested by the egg.
- Allow the install script to complete and inspect the console for errors.
- Accept the EULA through the panel's variables or file editor where required.
- Upload the world, plugins or mods through the panel file manager or SFTP credentials.
Use FileZilla for Minecraft files
Connect with SFTP, then upload files to the correct folder:
plugins/for Paper, Purpur or Spigot pluginsmods/for Fabric, Forge or NeoForge mods- The main server directory for
server.properties, allow-list and operator files - The configured world directory for an existing world
Stop the server first. Uploading a plugin or mod into the wrong folder will not convert it to the correct platform.
Create a simple systemd service
Once the chosen server starts correctly from the command line, create a dedicated Linux user and a service. The example below must be adjusted to the real directory, user and JAR name:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft-paper
ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar paper.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Save it as an appropriate file in /etc/systemd/system/, then reload systemd, start the service and check its status. Do not enable automatic startup until the manual start works correctly.
View Minecraft Server Hosting UK β
How to Install and Manage Factorio Server Software
Keep the ready Factorio image
The checkout image is the easiest route because Factorio is already prepared on Ubuntu Server 24.04. Use SSH to find the service, save directory and configuration before changing anything.
Install the official Factorio headless package
Download the current Linux headless release from Factorio's official download source. The exact archive URL and version change over time.
mkdir -p /opt/factorio
cd /opt
# Download the current official headless archive
curl -L "OFFICIAL_FACTORIO_HEADLESS_URL" -o factorio-headless.tar.xz
tar -xf factorio-headless.tar.xz
cd /opt/factorio
# Create a new save when needed
./bin/x64/factorio --create saves/my-server.zip
# Start the dedicated server with that save
./bin/x64/factorio --start-server saves/my-server.zip
Use --server-settings to point to a server-settings JSON file where required. Run ./bin/x64/factorio --help to see the command-line options supported by the installed version.
Upload an existing Factorio save with FileZilla
- Stop the Factorio service.
- Connect using SFTP in FileZilla.
- Open the server's Factorio saves directory.
- Upload the complete
.zipsave without extracting it. - Update the startup command or service so it points to that save.
- Start Factorio and read the log for missing mods or version upgrades.
Install Factorio mods
Upload compatible Factorio mod archives into the server's mods directory. The save can contain a required mod list. Keep the mod set, game version and dependencies aligned.
# Example only: inspect the expected directory before copying
ls -la /opt/factorio/mods
ls -la /opt/factorio/saves
Factorio also provides command-line options for synchronising mods with a save, but authenticated mod downloads on a headless server require the appropriate Factorio service credentials. Do not place account tokens in a public file or share them with players.
Install Factorio through Pterodactyl
- Create a server using a maintained Factorio egg.
- Assign the required allocation and resource limits.
- Let the egg install the selected Factorio version.
- Upload the save and mods through Pterodactyl's file manager or SFTP.
- Set the startup save and server variables.
- Start the instance and inspect the console.
Run Factorio as a Linux service
After the command works manually, register the same command in a systemd service under a dedicated Factorio user. Point ExecStart to the real binary, save and settings file. Use graceful stop behaviour so the game has time to save before the process ends.
Server settings that matter
- Server name and description
- Visibility and authentication choices
- Player limits and passwords
- Autosave interval and retained autosaves
- Allow-list, ban list and administrator list
- Whether the simulation pauses while no players are connected
View Factorio Server Hosting UK β
How to Install Luanti Games, Worlds and Mods
Keep the ready Luanti image
The checkout image deploys Luanti on Ubuntu Server 24.04. Before adding content, identify the server user, configuration file, worlds directory, games directory and mods directory used by that image.
Install Luanti using Ubuntu packages
Where the required Luanti version is available from the configured Ubuntu repositories, the package route is the easiest manual installation:
sudo apt update
sudo apt install luanti-server
luantiserver --version
luantiserver --help
Package names and versions can differ between Ubuntu releases and repositories. Check the installed command and service files rather than assuming every system uses the same paths.
Install a newer Luanti build
When the distribution package is older than the version you require, use Luanti's official release or build instructions. Install it in a separate location first, preserve the existing worlds and configuration, and test the new engine against a copied world before replacing production.
Install a Luanti game
A Luanti engine needs a game to provide the base gameplay. Download a compatible game from ContentDB or the project's official source, extract it into the server's games directory and select its game ID when creating a world.
Install Luanti mods with FileZilla
- Stop the Luanti service.
- Download the mod archive from ContentDB or its official project source.
- Extract the archive on your computer when the package contains an extra wrapper directory.
- Upload the complete mod folder to the server's mods directory using SFTP.
- Check that the folder name and
mod.confare at the expected level. - Install every required dependency.
- Enable the mod for the intended world.
- Start Luanti and read the log for dependency or API errors.
Enable a mod for one world
Installing the folder does not necessarily enable it. Depending on the deployment, edit the selected world's configuration or use the relevant management interface. In world.mt, enabled mods are commonly represented by entries such as:
load_mod_examplemod = true
Use the actual mod name from its configuration. Do not enable a mod globally without understanding which worlds and games support it.
Upload an existing Luanti or Minetest world
- Stop the Luanti service.
- Back up the existing world and server configuration.
- Upload the complete world directory with FileZilla SFTP.
- Install the exact game used by the world.
- Install and enable its required mods.
- Check
world.mtand the database backend. - Start the server and resolve missing-content errors before players join.
Install Luanti through Pterodactyl
- Create a server from a maintained Luanti/Minetest egg.
- Choose the engine version and startup variables supported by the egg.
- Upload the game, world and mods through the panel file manager or SFTP.
- Set the world name, game ID and port.
- Start the instance and inspect the console for missing games or dependencies.
The platforms use different engines, content systems and world formats. Treat any community conversion tool as a limited migration experiment and keep the original world untouched.
View Luanti Server Hosting UK β
Backups Before Mods, Updates and World Changes
A copied folder is only a useful backup when it contains everything needed for recovery and has been tested. Game servers commonly need more than the main world file.
Include these items
- Worlds or Factorio save archives
- Server configuration and startup settings
- Plugin or mod directories
- Permissions, operator, allow-list and ban data
- Pterodactyl configuration and database when a panel is used
- A record of game, loader, plugin and mod versions
Stop or save cleanly first
Copying an actively changing world can produce an inconsistent recovery point. Use the game's save or shutdown process, stop the service, then copy the data. Restart only after the backup or transfer finishes.
Keep another copy away from the server
A backup stored only on the same server can disappear with accidental deletion, filesystem failure or account compromise. Keep at least one separate copy and periodically test that it can be restored.
Should You Choose VPS or Dedicated CPU VDS?
Both products can deploy the same Minecraft, Factorio or Luanti application. The difference is not which game is permitted. The main distinction is how the CPU resource is assigned.
Flexible VPS
Use VPS as the lower-cost starting point for smaller communities, testing, private servers and workloads with moderate or variable CPU demand.
Configure VPS Hosting βDedicated CPU VDS
Choose VDS when sustained simulation, larger worlds, heavy mods or busy player periods justify dedicated CPU resources and more consistent processing availability.
Configure VDS Hosting βRAM also matters. Four gigabytes is a practical starting point for many small servers, while 8GB provides more room for players and extensions. Larger mod packs, communities or multiple instances may justify 12GB or more. These are planning ranges, not guaranteed player limits.
Game Server Launch Checklist
- The correct game application and Linux image were selected.
- The chosen CPU, RAM and storage meet the image minimum.
- You can sign in over SSH and have recorded the server IP.
- You know the exact service name and game-data directory.
- The required game port is allowed through the server firewall.
- The game version matches the save, plugins, mods and player clients.
- Administrative users, passwords and allow-list settings are configured.
- A clean backup exists before importing or changing live data.
- The server starts automatically after an expected reboot.
- You have tested joining from an external internet connection.
- CPU, memory, disk usage and logs have been checked after players join.