यह हमारे गेम सर्वर के लिए VPS पेज का हैंड्स-ऑन साथी है। वह इस बारे में है कि कौन सा प्लान फ़िट बैठता है; यह असल में सर्वर खड़ा करने के बारे में है — Paper, एक उचित systemd सेवा, वह कॉन्फ़िग जो आपको RAM बचाती है, फ़ायरवॉल, और बैकअप। अंत तक आपके पास एक Minecraft सर्वर होगा जो एक क्रैश झेलता है, एक रीबूट झेलता है, और चुपचाप आपका पूरा बॉक्स नहीं खाता।
शुरू करने से पहले एक ईमानदार नोट: उपयोग-मामले पेज की CPU और RAM सीमाएँ अब भी लागू हैं। एक Small या Medium प्लान पर Paper एक दोस्त-समूह के लिए बढ़िया है। एक बड़े समुदाय के लिए एक 150-मॉड पैक इन प्लान के लिए नहीं है, और कोई भी कॉन्फ़िग उसे ठीक नहीं करती। यह साफ़ होने पर, आइए बनाएँ।
1. Java इंस्टॉल करें
Paper Java पर चलता है। एक headless JDK इंस्टॉल करें — एक मौजूदा Minecraft संस्करण के लिए वह Java 21 है:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
अगर आपका Minecraft संस्करण पुराना है, वह Java इंस्टॉल करें जो यह माँगता है (1.18-1.20 युग के लिए 17)। अगर संस्करण ग़लत है तो सर्वर लॉग ज़ोर से शिकायत करेंगे।
2. सर्वर डायरेक्टरी और Paper सेट करें
सर्वर को उसके अपने उपयोगकर्ता के रूप में चलाएँ, root नहीं — अगर कभी कुछ ग़लत हो, आप ब्लास्ट रेडियस छोटा चाहते हैं।
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
अपने Minecraft संस्करण के लिए Paper jar डाउनलोड करें (उनके downloads पेज से URL लें) और इसे server.jar के रूप में सहेजें:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
कॉन्फ़िग फ़ाइलें जनरेट करने के लिए इसे एक बार चलाएँ, फिर EULA स्वीकार करें:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# यह तुरंत रुककर आपसे EULA स्वीकार करने को कहता है
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
-Xmx3G JVM हीप छत है। एक 4 GB Small प्लान पर, JVM के लिए ~3 GB OS को साँस लेने की जगह छोड़ता है। इसे अपनी पूरी RAM पर सेट न करें — JVM का हीप से परे ओवरहेड है, और OOM किलर मोलभाव नहीं करता।
3. RAM बचाने के लिए server.properties ट्यून करें
यहीं आप अपने लिए मुफ़्त में प्रदर्शन ख़रीदते हैं। server.properties खोलें और सेट करें:
view-distance=8
simulation-distance=6
max-players=10
view-distance— हर खिलाड़ी के आस-पास लोड रखे चंक। डिफ़ॉल्ट 10 उदार है; 8 (या 6 भी) RAM और CPU ध्यान देने योग्य रूप से काटता है और लगभग कोई फ़र्क़ नोटिस नहीं करता।simulation-distance— एंटिटी, redstone, और फ़सल वृद्धि असल में कितनी दूर टिक करते हैं। कम सस्ता है। 6 एक समझदार शुरुआती बिंदु है।max-players— इसे उतना सेट करें जितना आप असल में उम्मीद करते हैं, ताकि एक अचानक भीड़ आपका RAM बजट न उड़ाए।
एकल-थ्रेड हक़ीक़त याद रखें: Minecraft का टिक एक कोर पर टिका है। अगर TPS गिरे, ज़्यादा RAM मदद नहीं करेगी — simulation-distance और mob caps कम करना करेगा।
4. इसे एक systemd सेवा के रूप में चलाएँ
यही वह हिस्सा है जो "एक jar जो मैंने एक बार चलाया" को "एक सर्वर" में बदलता है। /etc/systemd/system/minecraft.service बनाएँ:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143
[Install]
WantedBy=multi-user.target
Restart=on-failure वह लाइन है जो मायने रखती है — अगर JVM क्रैश हो, systemd इसे दस सेकंड में वापस लाता है। SuccessExitStatus=... 143 systemd को एक सामान्य SIGTERM शटडाउन को एक विफलता मानने से रोकता है। इसे सक्षम और शुरू करें:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # लाइव लॉग
अब यह बूट पर शुरू होता है, क्रैश पर रीस्टार्ट होता है, और लॉग journald पर जाते हैं।
5. फ़ायरवॉल पोर्ट खोलें
Minecraft डिफ़ॉल्ट रूप से TCP 25565 पर सुनता है। सिर्फ़ वही खोलें:
sudo ufw allow 25565/tcp
sudo ufw enable
अपने दोस्तों को सर्वर का IP दें (और :25565 अगर आपने पोर्ट बदला)। कुछ भी न खोलें जो आपको नहीं चाहिए — अपना ख़ुद का बॉक्स चलाने का पूरा मक़सद यह है कि आप तय करते हैं कि क्या पहुँच योग्य है।
6. दुनिया का बैकअप लें
वह जिसे लोग उस दिन तक छोड़ देते हैं जब वे चाहते हैं कि काश न छोड़ा होता। एक सरल स्क्रिप्ट:
#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end
इसे क्रॉन से चलाएँ, और — यही अहम आधा है — आर्काइव को सर्वर से बाहर कॉपी करें, ऑब्जेक्ट स्टोरेज या किसी अन्य मशीन पर। दुनिया के समान डिस्क पर एक बैकअप डिस्क के साथ मरता है। अगर आपकी दुनिया मायने रखती है, tar से पहले सर्वर कंसोल में save-off और save-all चलाएँ ताकि आप कभी लिखने के बीच स्नैपशॉट न लें।
यही पूरी चीज़ है
Java, Paper, ट्यून किया कॉन्फ़िग, एक systemd सेवा जो ऑटो-रीस्टार्ट होती है, एक फ़ायरवॉल पोर्ट, और बैकअप जो कहीं और रहते हैं। यही एक Minecraft सर्वर है जो एक जैसा व्यवहार करता है।
अगर आपके पास अभी बॉक्स नहीं है: एक प्लान चुनें — एक छोटे समूह के लिए Small ($8), अगर आप दस खिलाड़ी धकेल रहे हैं तो Medium ($12) — USDC या USDT में भुगतान करें (कोई KYC नहीं, कोई दस्तावेज़ नहीं), और आपके पास लगभग 60 सेकंड में root होगा। फिर इस पेज पर नीचे काम करें। और ईमानदार अनुस्मारक एक आख़िरी बार: यह दोस्तों के साथ vanilla या Paper के लिए सही सेटअप है। एक बड़े समुदाय के लिए एक भारी मॉडपैक को अलग हार्डवेयर चाहिए, और हम बेहतर चाहेंगे कि आप वह पहले हमसे सुनें।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।