{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}
Máy chủ Modpack Minecraft
Lưu trữ các máy chủ Minecraft đã được sửa đổi (CurseForge, Modrinth).
Siêu dữ liệu kỹ năng
| Nguồn | Đi kèm (được cài đặt theo mặc định) |
| Đường dẫn |
skills/gaming/minecraft-modpack-server ` | | Nền tảng | Linux, macOS |
Tham khảo: đầy đủ SKILL.md
thông tin
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
Thiết lập máy chủ Minecraft Modpack
Khi nào nên sử dụng
- Người dùng muốn thiết lập máy chủ Minecraft đã được sửa đổi từ gói zip máy chủ
- Người dùng cần trợ giúp về cấu hình máy chủ NeoForge/Forge
- Người dùng hỏi về việc điều chỉnh hoặc sao lưu hiệu suất máy chủ Minecraft
Thu thập tùy chọn người dùng trước tiên
Trước khi bắt đầu thiết lập, hãy yêu cầu người dùng:
- Tên máy chủ / MOTD — nó nên nói gì trong danh sách máy chủ?
- Hạt giống — hạt giống cụ thể hay ngẫu nhiên?
- Khó khăn — bình yên / dễ dàng / bình thường / khó khăn?
- Gamemode — sinh tồn/sáng tạo/phiêu lưu?
- Chế độ trực tuyến — đúng (Mojang auth, tài khoản hợp pháp) hay sai (LAN/bẻ khóa thân thiện)?
- Số lượng người chơi — dự kiến có bao nhiêu người chơi? (ảnh hưởng đến RAM và điều chỉnh khoảng cách xem)
- Phân bổ RAM — hay để tác nhân quyết định dựa trên số lượng mod và RAM có sẵn?
- Xem khoảng cách / khoảng cách mô phỏng — hoặc để đại lý chọn dựa trên số lượng người chơi và phần cứng?
- PvP — bật hay tắt?
- Danh sách trắng — chỉ máy chủ mở hoặc danh sách trắng?
- Sao lưu — muốn sao lưu tự động? Bao lâu một lần?
Sử dụng các giá trị mặc định hợp lý nếu người dùng không quan tâm nhưng luôn hỏi trước khi tạo cấu hình.
bước
1. Tải xuống và kiểm tra gói
`
mkdir -p ~/minecraft-server
cd ~/minecraft-server
wget -O serverpack.zip "<URL>"
unzip -o serverpack.zip -d server
ls server/
`
Tìm kiếm:
`startserver.sh
, bình cài đặt (neoforge/forge), thư mục
`user_jvm_args.txt
,
`mods/
.
Kiểm tra tập lệnh để xác định: loại trình tải mod, phiên bản và phiên bản Java được yêu cầu.
### 2. Cài đặt Java
- Minecraft 1.21+ → Java 21:
`sudo apt install openjdk-21-jre-headless
- Minecraft 1.18-1.20 → Java 17:
`sudo apt install openjdk-17-jre-headless
- Minecraft 1.16 trở xuống → Java 8:
`sudo apt install openjdk-8-jre-headless
- Xác minh:
`java -version
### 3. Cài đặt Mod Loader
Hầu hết các gói máy chủ đều có tập lệnh cài đặt. Sử dụng var env INSTALL_ONLY để cài đặt mà không cần khởi chạy:
`
``` bash
cd ~/minecraft-server/server
ATM10_INSTALL_ONLY=true bash startserver.sh
# Or for generic Forge packs:
# java -jar forge-*-installer.jar --installServer
`
Việc này tải xuống các thư viện, vá lỗi jar máy chủ, v.v.
### 4. Chấp nhận EULA
`
``` bash
echo "eula=true" > ~/minecraft-server/server/eula.txt
`
### 5. Cấu hình server.properties
Cài đặt chính cho modded/LAN:
`
`properties
motd=\u00a7b\u00a7lServer Name \u00a7r\u00a78| \u00a7aModpack Name
server-port=25565
online-mode=true # false for LAN without Mojang auth
enforce-secure-profile=true # match online-mode
difficulty=hard # most modpacks balance around hard
allow-flight=true # REQUIRED for modded (flying mounts/items)
spawn-protection=0 # let everyone build at spawn
max-tick-time=180000 # modded needs longer tick timeout
enable-command-block=true
`
``Cài đặt hiệu suất (mở rộng theo phần cứng):
`
`properties
# 2 players, beefy machine:
view-distance=16
simulation-distance=10
# 4-6 players, moderate machine:
view-distance=10
simulation-distance=6
# 8+ players or weaker hardware:
view-distance=8
simulation-distance=4
`
### 6. Điều chỉnh các Args JVM (user_jvm_args.txt)
Chia tỷ lệ RAM theo số lượng người chơi và số lượng mod. Nguyên tắc chung cho mod:
- Mod 100-200: 6-12GB
- 200-350+ mod: 12-24GB
- Để trống ít nhất 8GB cho hệ điều hành/các tác vụ khác
`
-Xms12G
-Xmx24G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLIveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
`
### 7. Mở tường lửa
`
``` bash
sudo ufw allow 25565/tcp comment "Minecraft Server"
`
Kiểm tra với:
`sudo ufw status | grep 25565
### 8. Tạo tập lệnh khởi chạy
`
`bash
cat > ~/start-minecraft.sh << 'EOF'
#!/bin/bash
cd ~/minecraft-server/server
java @user_jvm_args.txt @libraries/net/neoforged/neoforge/<VERSION>/unix_args.txt nogui
EOF
chmod +x ~/start-minecraft.sh
`
Lưu ý: Đối với Forge (không phải NeoForge), đường dẫn tệp args sẽ khác. Kiểm tra
`startserver.sh
` để biết đường dẫn chính xác.
### 9. Thiết lập sao lưu tự động
Tạo tập lệnh sao lưu:
`
`bash
cat > ~/minecraft-server/backup.sh << 'SCRIPT'
#!/bin/bash
SERVER_DIR="$HOME/minecraft-server/server"
BACKUP_DIR="$HOME/minecraft-server/backups"
WORLD_DIR="$SERVER_DIR/world"
MAX_BACKUPS=24
mkdir -p "$BACKUP_DIR"
[ ! -d "$WORLD_DIR" ] && echo "[BACKUP] No world folder" && exit 0
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/world_$\{TIMESTAMP}.tar.gz"
echo "[BACKUP] Starting at $(date)"
tar -czf "$BACKUP_FILE" -C "$SERVER_DIR" world
SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "[BACKUP] Saved: $BACKUP_FILE ($SIZE)"
BACKUP_COUNT=$(ls -1t "$BACKUP_DIR"/world_*.tar.gz 2>/dev/null | wc -l)
if [ "$BACKUP_COUNT" -gt "$MAX_BACKUPS" ]; then
REMOVE=$((BACKUP_COUNT - MAX_BACKUPS))
ls -1t "$BACKUP_DIR"/world_*.tar.gz | tail -n "$REMOVE" | xargs rm -f
echo "[BACKUP] Pruned $REMOVE old backup(s)"
fi
echo "[BACKUP] Done at $(date)"
SCRIPT
chmod +x ~/minecraft-server/backup.sh
`
``Thêm cron hàng giờ:
`
`bash
(crontab -l 2>/dev/null | grep -v "minecraft/backup.sh"; echo "0 * * * * $HOME/minecraft-server/backup.sh >> $HOME/minecraft-server/backups/backup.log 2>&1") | crontab -
`
## cạm bẫy
- LUÔN đặt
`allow-flight=true
` cho mod - mod có gói phản lực/chuyến bay sẽ đá người chơi nếu không
-
`max-tick-time=180000
` trở lên - các máy chủ được sửa đổi thường có thời gian tích tắc dài trong thế giới
- Lần khởi động đầu tiên là CHẬM (vài phút đối với gói lớn) — đừng hoảng sợ
- "Không thể theo kịp!" cảnh báo trong lần khởi chạy đầu tiên là bình thường, sẽ ổn định sau thế hệ chunk ban đầu
- Nếu chế độ trực tuyến=false, hãy đặt thi hành-secure-profile=false, nếu không khách hàng sẽ bị từ chối
- Startserver.sh của gói thường có vòng lặp tự động khởi động lại — tạo một tập lệnh khởi chạy rõ ràng mà không có nó
- Xóa thư mục world/ để tạo lại với một hạt giống mới
- Một số gói có các biến env để kiểm soát hành vi (ví dụ: ATM10 sử dụng ATM10_JAVA, ATM10_RESTART, ATM10_INSTALL_ONLY)
## Xác minh
-
`pgrep -fa neoforge
` hoặc
`pgrep -fa minecraft
` để kiểm tra xem có chạy không
- Nhật ký kiểm tra:
`tail -f ~/minecraft-server/server/logs/latest.log
- Tìm kiếm "Xong (Xs)!" trong nhật ký = máy chủ đã sẵn sàng
- Kiểm tra kết nối: người chơi thêm IP máy chủ trong Nhiều người chơi