Docker + Portainer ซึ่งช่วยให้คุณจัดการเซิร์ฟเวอร์ผ่าน Web UI ได้สะดวก และสามารถ scale หรือเพิ่มเกมใหม่ได้ในไม่กี่คลิก บทความนี้จะพาคุณตั้งค่าแบบ Self-Hosted ใช้งานจริง เหมาะสำหรับสาย Dev / Gamer / Creator ที่อยากทำเซิร์ฟเวอร์ของตัวเอง
🎯 แนวคิดระบบ (Architecture)
ระบบจะประกอบด้วย:
- 🐳 Docker Engine
- 📦 Portainer (UI จัดการ Docker)
- 🎮 Luanti Server (หลาย instance)
- 💾 Volume สำหรับเก็บ world / mods / games
1 Container = 1 Game Server
ตัวอย่าง:
- Mineclonia Server
- MineKart Server
- Creative Server
https://www.elec2rak.com/en/games
🧰 สิ่งที่ต้องมี
- VPS / Server (Ubuntu แนะนำ)
- ติดตั้ง Docker + Docker Compose
- ติดตั้ง Portainer
⚙️ ขั้นตอนติดตั้ง Portainer
docker volume create portainer_data
docker run -d \
-p 9000:9000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
เข้าใช้งาน:
📦 Docker Compose สำหรับ Luanti Multiple Game
สร้าง Stack ใหม่ใน Portainer แล้วใส่โค้ดนี้:
version: "3.8"
services:
mineclonia:image: ghcr.io/minetest/minetest:latestcontainer_name: minecloniarestart: unless-stoppedports:- "30000:30000/udp"volumes:- ./data/mineclonia/world:/var/lib/minetest/.minetest/worlds/world- ./data/mineclonia/games:/var/lib/minetest/.minetest/games- ./data/mineclonia/mods:/var/lib/minetest/.minetest/modsenvironment:- TZ=Asia/Bangkokcommand: >minetestserver --gameid mineclonia--worldname world--config /var/lib/minetest/.minetest/minetest.conf
minekart:image: ghcr.io/minetest/minetest:latestcontainer_name: minekartrestart: unless-stoppedports:- "30001:30000/udp"volumes:- ./data/minekart/world:/var/lib/minetest/.minetest/worlds/world- ./data/minekart/games:/var/lib/minetest/.minetest/games- ./data/minekart/mods:/var/lib/minetest/.minetest/modscommand: >minetestserver --gameid minekart--worldname world
creative:image: ghcr.io/minetest/minetest:latestcontainer_name: creativerestart: unless-stoppedports:- "30002:30000/udp"volumes:- ./data/creative/world:/var/lib/minetest/.minetest/worlds/world- ./data/creative/games:/var/lib/minetest/.minetest/games- ./data/creative/mods:/var/lib/minetest/.minetest/modscommand: >minetestserver --gameid minetest--worldname world
📁 โครงสร้างไฟล์
data/
├── mineclonia/
│ ├── world/
│ ├── games/
│ └── mods/
├── minekart/
└── creative/
🎮 การติดตั้ง Game (สำคัญมาก)
Luanti จะไม่โหลด game มาให้เอง ต้อง clone หรือดาวน์โหลด:
Mineclonia
git clone https://github.com/mineclonia/mineclonia ./data/mineclonia/games/mineclonia
MineKart
git clone https://github.com/mt-mods/minekart ./data/minekart/games/minekart
🔥 เทคนิคสำคัญ
1. แยก Port ทุก Server
- 30000 → Mineclonia
- 30001 → MineKart
- 30002 → Creative
2. แยก Volume ชัดเจน
กันข้อมูลพัง + backup ง่าย
3. ใช้ Portainer Stack
Deploy / Update ได้ในคลิกเดียว
📡 การเชื่อมต่อจาก Client
ในเกม Luanti:
- Address: YOUR-IP
- Port:
- 30000 (Mineclonia)
- 30001 (MineKart)
🧠 Advanced Tips (สายโปร)
- ใช้ Reverse Proxy เช่น NGINX หรือ Traefik
- ทำ Auto Backup ด้วย cron
- ใช้ Restream + OBS ยิง Live Server
- ทำ Multi-Server Dashboard
🎥 ไอเดียต่อยอด (สาย Content)
- Live หลายเกมพร้อมกัน (Mineclonia vs MineKart)
- ทำ Event แข่งรถ
- Survival + Craft Bike Series
- เปิด Public Server สร้าง Community
✅ สรุป
การใช้ Docker + Portainer ทำให้การสร้าง Luanti Multiple Game Server:
- ง่ายขึ้น
- แยกชัด
- ขยายได้
- เหมาะกับ production และ content creator

