EQVPS

একটি VPS-এ একটি Minecraft সার্ভার সেট আপ করা

Jul 27, 2026 · 4 min read · EQVPS Team

এটি আমাদের একটি game server-এর জন্য VPS পেজের হাতে-কলমে সঙ্গী। ওটা কোন প্ল্যান মানায় তা নিয়ে; এটি আসলে সার্ভারটি দাঁড় করানো নিয়ে — Paper, একটি সঠিক systemd সার্ভিস, যে config আপনার RAM বাঁচায়, firewall, ও backup। শেষে আপনার একটি Minecraft সার্ভার হবে যা একটি ক্র্যাশ টেকায়, একটি reboot টেকায়, ও নীরবে আপনার পুরো বক্স খায় না।

শুরুর আগে একটি সৎ নোট: use-case পেজের CPU ও RAM সীমা তবুও প্রযোজ্য। একটি Small বা Medium প্ল্যানে Paper একটি বন্ধু-দলের জন্য দারুণ। একটি বড় কমিউনিটির জন্য একটি 150-mod প্যাক এই প্ল্যান যার জন্য নয়, আর কোনো পরিমাণ config তা ঠিক করে না। এটি পরিষ্কার হলে, চলুন বানাই।

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)। সংস্করণ ভুল হলে সার্ভার log জোরে নালিশ করবে।

2. সার্ভার directory ও Paper সেট করুন

root নয়, সার্ভারকে নিজের ব্যবহারকারী হিসেবে চালান — কখনও কিছু ভুল হলে, আপনি blast radius ছোট চান।

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"

config ফাইল তৈরি করতে এটি একবার চালান, তারপর 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 heap-এর সীমা। একটি 4 GB Small প্ল্যানে, JVM-এর জন্য ~3 GB OS-কে শ্বাস নেওয়ার জায়গা দেয়। এটিকে আপনার পুরো RAM-এ সেট করবেন না — JVM-এর heap-এর বাইরে overhead আছে, আর OOM killer আলোচনা করে না।

3. RAM বাঁচাতে server.properties tune করুন

এখানেই আপনি নিজেকে বিনামূল্যে পারফরম্যান্স কেনেন। server.properties খুলুন ও সেট করুন:

view-distance=8
simulation-distance=6
max-players=10

single-thread বাস্তবতা মনে রাখুন: Minecraft-এর tick একটি core-এ ভর করে। TPS পড়লে, বেশি RAM সাহায্য করবে না — simulation-distance ও mob cap কমান।

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 shutdown-কে একটি failure হিসেবে গণ্য করা থেকে থামায়। এটি enable ও start করুন:

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f   # live log

এখন এটি boot-এ শুরু হয়, ক্র্যাশে restart হয়, ও log journald-তে যায়।

5. firewall পোর্ট খুলুন

Minecraft ডিফল্টে TCP 25565-এ listen করে। শুধু সেটি খুলুন:

sudo ufw allow 25565/tcp
sudo ufw enable

আপনার বন্ধুদের সার্ভারের IP দিন (আর পোর্ট বদলালে :25565)। যা লাগে না তা খুলবেন না — নিজের বক্স চালানোর পুরো উদ্দেশ্য যে আপনি ঠিক করেন কী পৌঁছানোযোগ্য।

6. world backup করুন

যেটা মানুষ এড়িয়ে যায় যতদিন না তারা আফসোস করে। একটি সরল script:

#!/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

এটি cron থেকে চালান, আর — এটাই গুরুত্বপূর্ণ অর্ধেক — আর্কাইভটি সার্ভার থেকে সরিয়ে কপি করুন, object storage বা অন্য মেশিনে। world-এর একই ডিস্কে একটি backup ডিস্কের সাথে মরে। আপনার world গুরুত্বপূর্ণ হলে, tar-এর আগে সার্ভার console-এ save-offsave-all চালান যাতে আপনি কখনও একটি লেখার মাঝপথে snapshot না করেন।

এটাই পুরো ব্যাপার

Java, Paper, tune-করা config, একটি systemd সার্ভিস যা auto-restart করে, একটি firewall পোর্ট, ও backup যা অন্য কোথাও থাকে। এটাই একটি Minecraft সার্ভার যা একটির মতো আচরণ করে।

আপনার এখনও একটি বক্স না-থাকলে: একটি প্ল্যান বাছুন — একটি ছোট দলের জন্য Small ($8), দশজন প্লেয়ার ঠেলছেন হলে Medium ($12) — USDC বা USDT-তে পরিশোধ করুন (no KYC, কোনো নথি নয়), আর প্রায় 60 সেকেন্ডে root পাবেন। তারপর এই পেজ ধরে নামুন। আর শেষবার সৎ স্মরণ: এটি বন্ধুদের সাথে vanilla বা Paper-এর সঠিক সেটআপ। একটি বড় কমিউনিটির জন্য একটি ভারী modpack-এর ভিন্ন হার্ডওয়্যার দরকার, আর আমরা তা আপনাকে আগে আমাদের থেকে শোনাই ভালো মনে করি।

FAQ

আমার কোন Java সংস্করণ দরকার?

সাম্প্রতিক Minecraft সংস্করণ Java 17 বা নতুন চায়; সর্বশেষগুলো Java 21 চায়। আপনার Minecraft সংস্করণ যে OpenJDK build চায় তা ইনস্টল করুন — সার্ভার একবার চালালে Java সংস্করণ ভুল হলে তা স্পষ্ট বলে দেবে। একটি headless JRE/JDK ব্যবহার করুন যাতে আপনি কখনও ব্যবহার করবেন না এমন একটি desktop stack না টানেন।

log out করার পরে সার্ভার কীভাবে চালু রাখব?

এটিকে একটি systemd সার্ভিস হিসেবে চালান। তা আপনাকে start/stop/status কমান্ড দেয়, journalctl-এর মাধ্যমে log, JVM ক্র্যাশ করলে স্বয়ংক্রিয় restart, ও start-on-boot — reattach করতে মনে রাখতে-হওয়া একটি screen সেশনের চেয়ে অনেক ভালো। সার্ভিস ফাইলটি গাইডে আছে।

JVM-কে কত RAM দেব?

-Xmx আপনার প্ল্যানের মোট RAM-এর একটু নিচে সেট করুন যাতে OS কিছু রাখে — একটি 4 GB Small প্ল্যানে, JVM-এর জন্য প্রায় 3 GB বিবেচ্য। -Xmx আপনার পুরো RAM-এর সমান সেট করবেন না; OS ও JVM-এর নিজের overhead-এর headroom দরকার নইলে OOM reaper আপনাকে kill করবে।

world কীভাবে backup করব?

সার্ভার থামান (বা আগে save-off/save-all চালান), world ফোল্ডার tar করুন, ও আর্কাইভটি বক্স থেকে সরিয়ে কপি করুন — object storage বা অন্য সার্ভারে। এটি একটি cron-এ রাখুন। world-এর একই ডিস্কে বসা একটি backup একটি backup নয়; এটি ডিস্কের সাথে মরে।

← Back to blogSee plans & pricing →

মন্তব্য

এখনো কোনো মন্তব্য নেই। প্রথম হোন।

একটি মন্তব্য দিন

মন্তব্য প্রকাশের আগে মডারেট করা হয়।