如何在一个VPS上同时运行两个Minecraft服务器?
| 配置项 |
服务器1 |
服务器2 |
| 端口号 |
25565 |
25566 |
| 内存分配 |
4GB |
4GB |
| 数据目录 |
/opt/mc1 |
/opt/mc2 |
| 服务名称 |
mc1-server |
mc2-server |
如何在一个VPS上同时运行两个Minecraft服务器
如果你拥有一个VPS,想要同时运行两个Minecraft服务器来满足不同的游戏需求,本文将为你提供详细的实现方案。
主要步骤概览
| 步骤 |
操作内容 |
预计耗时 |
| 1 |
准备VPS环境 |
10分钟 |
| 2 |
安装Java运行环境 |
5分钟 |
| 3 |
下载Minecraft服务器文件 |
5分钟 |
| 4 |
配置第一个服务器 |
10分钟 |
| 5 |
配置第二个服务器 |
10分钟 |
| 6 |
设置系统服务 |
10分钟 |
| 7 |
防火墙配置 |
5分钟 |
详细操作流程
步骤1:准备VPS环境
操作说明:确保VPS满足运行两个Minecraft服务器的基本要求,包括足够的RAM、CPU和存储空间。
使用工具提示:使用SSH客户端连接到你的VPS
# 连接到VPS
ssh username@your-vps-ip
更新系统包
sudo apt update && sudo apt upgrade -y
创建专用用户(可选)
sudo useradd -m -s /bin/bash mcuser
步骤2:安装Java运行环境
操作说明:Minecraft服务器需要Java环境支持,推荐安装OpenJDK。
使用工具提示:使用包管理器安装Java
# 安装OpenJDK 17(推荐版本)
sudo apt install openjdk-17-jdk -y
验证安装
java -version
步骤3:下载Minecraft服务器文件
操作说明:从官方源下载Minecraft服务器JAR文件,需要为每个服务器准备独立的文件。
使用工具提示:使用wget或curl下载
# 创建服务器目录
sudo mkdir -p /opt/mc1 /opt/mc2
下载服务器文件(以1.19.2为例)
cd /opt/mc1
sudo wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581e589137/server.jar
cd /opt/mc2
sudo wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581e589137/server.jar
步骤4:配置第一个服务器
操作说明:设置第一个服务器的基本配置,包括端口、内存分配等。
使用工具提示:使用文本编辑器创建启动脚本
# 切换到第一个服务器目录
cd /opt/mc1
创建启动脚本
sudo nano start.sh
在start.sh文件中添加以下内容:
#!/bin/bash
java -Xmx4G -Xms2G -jar server.jar nogui
保存后设置执行权限:
sudo chmod +x start.sh
步骤5:配置第二个服务器
操作说明:配置第二个服务器,需要修改端口号避免冲突。
使用工具提示:复制第一个服务器的配置并修改
# 切换到第二个服务器目录
cd /opt/mc2
创建启动脚本
sudo nano start.sh
在第二个服务器的start.sh文件中添加:
#!/bin/bash
java -Xmx4G -Xms2G -jar server.jar --port 25566 nogui
保存后设置执行权限:
sudo chmod +x start.sh
步骤6:设置系统服务
操作说明:创建systemd服务文件,确保服务器在系统重启后自动运行。
使用工具提示:创建服务配置文件
# 创建第一个服务器服务文件
sudo nano /etc/systemd/system/mc1.service
mc1.service内容:
[Unit]
Description=Minecraft Server 1
After=network.target
[Service]
Type=simple
User=mcuser
WorkingDirectory=/opt/mc1
ExecStart=/opt/mc1/start.sh
Restart=always
[Install]
WantedBy=multi-user.target
创建第二个服务器服务文件:
sudo nano /etc/systemd/system/mc2.service
mc2.service内容(注意修改端口):
[Unit]
Description=Minecraft Server 2
After=network.target
[Service]
Type=simple
User=mcuser
WorkingDirectory=/opt/mc2
ExecStart=/opt/mc2/start.sh
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl enable mc1.service
sudo systemctl enable mc2.service
sudo systemctl start mc1.service
sudo systemctl start mc2.service
步骤7:防火墙配置
操作说明:开放Minecraft服务器使用的端口,允许外部连接。
使用工具提示:使用ufw配置防火墙
# 开放Minecraft默认端口
sudo ufw allow 25565
sudo ufw allow 25566
sudo ufw enable
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| 第二个服务器启动失败 |
端口冲突 |
在第二个服务器的server.properties中设置server-port=25566 |
| 内存不足错误 |
分配内存超过VPS物理内存 |
调整启动脚本中的-Xmx参数,确保总分配内存不超过VPS可用内存 |
| 玩家连接超时 |
防火墙未正确配置 |
检查防火墙规则,确保两个端口都已开放 |
| 服务器性能低下 |
CPU或内存资源不足 |
考虑升级VPS配置或优化服务器设置 |
| 服务无法自动启动 |
systemd服务配置错误 |
检查服务文件路径和权限,使用systemctl status查看详细错误信息 |
通过以上步骤,你可以在单个VPS上成功运行两个独立的Minecraft服务器,每个服务器都可以有自己独特的世界和配置。记得根据你的VPS实际资源情况调整内存分配,确保两个服务器都能稳定运行。
发表评论