{"id":408,"date":"2026-08-31T13:01:54","date_gmt":"2026-08-31T13:01:54","guid":{"rendered":"https:\/\/www.vps.tc\/blog\/?p=408"},"modified":"2026-08-31T09:31:15","modified_gmt":"2026-08-31T09:31:15","slug":"vpste-minecraft-sunucusu-nasil-kurulur","status":"publish","type":"post","link":"https:\/\/www.vps.tc\/blog\/tr\/vpste-minecraft-sunucusu-nasil-kurulur\/","title":{"rendered":"VPS&#8217;te Minecraft Sunucusu Nas\u0131l Kurulur?"},"content":{"rendered":"<div class=\"aiw-toc\" style=\"border:1px solid #dbe3ea;border-radius:8px;padding:16px 20px;margin:0 0 28px\"><strong>\u0130\u00e7indekiler<\/strong><\/p>\n<ol style=\"margin:10px 0 0;padding-left:22px\">\n<li><a href=\"#vpste-minecraft-sunucusu-kurmadan-once-bilmeniz-gerekenler\">VPS&#039;te Minecraft sunucusu kurmadan \u00f6nce bilmeniz gerekenler<\/a><\/li>\n<li><a href=\"#vps-secerken-cpu-ve-ram-hesabi\">VPS se\u00e7erken CPU ve RAM hesab\u0131<\/a><\/li>\n<li><a href=\"#ilk-hazirlik-kullanici-guncellemeler-ve-ssh\">\u0130lk haz\u0131rl\u0131k: kullan\u0131c\u0131, g\u00fcncellemeler ve SSH<\/a><\/li>\n<li><a href=\"#java-surumunu-kurmak\">Java s\u00fcr\u00fcm\u00fcn\u00fc kurmak<\/a><\/li>\n<li><a href=\"#paper-sunucu-dosyalarini-yerlestirme\">Paper sunucu dosyalar\u0131n\u0131 yerle\u015ftirme<\/a><\/li>\n<li><a href=\"#ram-ayari-gorus-mesafesi-ve-performans\">RAM ayar\u0131, g\u00f6r\u00fc\u015f mesafesi ve performans<\/a><\/li>\n<li><a href=\"#systemd-ile-servisi-kalici-calistirma\">systemd ile servisi kal\u0131c\u0131 \u00e7al\u0131\u015ft\u0131rma<\/a><\/li>\n<li><a href=\"#firewall-ve-minecraft-portu\">Firewall ve Minecraft portu<\/a><\/li>\n<li><a href=\"#alan-adiyla-baglanmak-ve-dns-kontrolu\">Alan ad\u0131yla ba\u011flanmak ve DNS kontrol\u00fc<\/a><\/li>\n<li><a href=\"#whitelist-op-ve-eklenti-kurulumu\">Whitelist, OP ve eklenti kurulumu<\/a><\/li>\n<li><a href=\"#yedekleme-olmadan-sunucu-kuruldu-sayilmaz\">Yedekleme olmadan sunucu kuruldu say\u0131lmaz<\/a><\/li>\n<li><a href=\"#izleme-ve-sik-karsilasilan-sorunlar\">\u0130zleme ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar<\/a><\/li>\n<li><a href=\"#kurulumdan-sonra-son-kontroller\">Kurulumdan sonra son kontroller<\/a><\/li>\n<li><a href=\"#sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"vpste-minecraft-sunucusu-kurmadan-once-bilmeniz-gerekenler\">VPS&#8217;te Minecraft sunucusu kurmadan \u00f6nce bilmeniz gerekenler<\/h2>\n<p>Minecraft sunucusu ilk oyuncular ba\u011flanana kadar oldu\u011fundan daha kolay g\u00f6r\u00fcn\u00fcr. Dosyalar yerindedir, port a\u00e7\u0131kt\u0131r, konsol da sakindir. Sonra birka\u00e7 ki\u015fi farkl\u0131 y\u00f6nlere ke\u015ffe \u00e7\u0131kar; CPU kullan\u0131m\u0131, RAM t\u00fcketimi, disk gecikmesi ve a\u011f kararl\u0131l\u0131\u011f\u0131 ayn\u0131 anda kendini g\u00f6stermeye ba\u015flar.<\/p>\n<p>Bu nedenle VPS Minecraft sunucusu kurarken oyun dosyas\u0131ndan \u00f6nce kaynak planlamas\u0131na bak\u0131yorum. A\u015fa\u011f\u0131daki ad\u0131mlarda Ubuntu Server 24.04 LTS ve Minecraft Java Edition 1.21.x i\u00e7in Paper kullanaca\u011f\u0131m. Paper, vanilla sunucuya g\u00f6re performans ayarlar\u0131 ve eklenti deste\u011fi a\u00e7\u0131s\u0131ndan pratik bir se\u00e7im. Vanilla kullanacaksan\u0131z sunucu JAR dosyas\u0131yla ba\u015flatma komutu de\u011fi\u015fir; kullan\u0131c\u0131, firewall ve yedekleme ad\u0131mlar\u0131 ayn\u0131 kal\u0131r.<\/p>\n<h2 id=\"vps-secerken-cpu-ve-ram-hesabi\">VPS se\u00e7erken CPU ve RAM hesab\u0131<\/h2>\n<p>Minecraft i\u015flemci h\u0131z\u0131na duyarl\u0131 bir oyun sunucusu. Tek bir d\u00fcnyan\u0131n ana oyun d\u00f6ng\u00fcs\u00fc, \u00e7ok \u00e7ekirdekli bir i\u015flemciden bekledi\u011finiz kadar yararlanmayabilir. Bu y\u00fczden yaln\u0131zca sa\u011flay\u0131c\u0131n\u0131n &#8220;8 vCPU&#8221; ifadesine bakmay\u0131n; CPU payla\u015f\u0131m politikas\u0131n\u0131, i\u015flemci neslini ve disk t\u00fcr\u00fcn\u00fc de sorun.<\/p>\n<table>\n<thead>\n<tr>\n<th>Oyuncu ve kullan\u0131m<\/th>\n<th>\u00d6nerilen RAM<\/th>\n<th>Not<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>2-5 oyuncu, az eklenti<\/td>\n<td>2 GB<\/td>\n<td>Yeni d\u00fcnya ve d\u00fc\u015f\u00fck g\u00f6r\u00fc\u015f mesafesiyle m\u00fcmk\u00fcn<\/td>\n<\/tr>\n<tr>\n<td>5-10 oyuncu, Paper<\/td>\n<td>4 GB<\/td>\n<td>K\u00fc\u00e7\u00fck arkada\u015f sunucusu i\u00e7in dengeli ba\u015flang\u0131\u00e7<\/td>\n<\/tr>\n<tr>\n<td>10-20 oyuncu, eklentili<\/td>\n<td>6-8 GB<\/td>\n<td>Harita \u00fcretimi ve eklenti say\u0131s\u0131 yak\u0131ndan izlenmeli<\/td>\n<\/tr>\n<tr>\n<td>Mod paketi veya yo\u011fun d\u00fcnya<\/td>\n<td>8 GB ve \u00fczeri<\/td>\n<td>Modlar\u0131n kendi bellek gereksinimleri ayr\u0131ca hesaplanmal\u0131<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bu de\u011ferler garanti de\u011fil, ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Oyuncu say\u0131s\u0131 kadar d\u00fcnya \u00fcretimi, g\u00f6r\u00fc\u015f mesafesi, mob say\u0131s\u0131 ve eklentilerin davran\u0131\u015f\u0131 da belirleyici olur. VPS&#8217;te ba\u015fka servisler \u00e7al\u0131\u015f\u0131yorsa Minecraft&#8217;a ayr\u0131lacak RAM&#8217;i fiziksel belle\u011fin tamam\u0131 gibi d\u00fc\u015f\u00fcnmeyin.<\/p>\n<p>4 GB RAM&#8217;li bir VPS&#8217;te i\u015fletim sistemi, SSH, monitoring ve dosya \u00f6nbelle\u011fi i\u00e7in en az 700-1000 MB b\u0131rak\u0131r\u0131m. Java heap&#8217;ini <code>-Xmx3G<\/code> yap\u0131p makinenin tamam\u0131n\u0131 oyuna vermek, k\u0131sa vadede y\u00fcksek rakam g\u00f6sterse de swap kullan\u0131m\u0131n\u0131 art\u0131rabilir. Swap eksikse <a href=\"https:\/\/www.vps.tc\/blog\/tr\/vpste-swap-alani-olusturma-linux-bellek-yonetimi\/\">VPS&#8217;te Swap Alan\u0131 Olu\u015fturma ve Linux Bellek Y\u00f6netimi<\/a> yaz\u0131s\u0131ndaki yakla\u015f\u0131m i\u015finize yarayabilir; swap&#8217;i RAM yerine koymay\u0131n.<\/p>\n<h2 id=\"ilk-hazirlik-kullanici-guncellemeler-ve-ssh\">\u0130lk haz\u0131rl\u0131k: kullan\u0131c\u0131, g\u00fcncellemeler ve SSH<\/h2>\n<p>VPS&#8217;e root olarak ba\u011flan\u0131p her komutu do\u011frudan \u00e7al\u0131\u015ft\u0131rmak kolayd\u0131r. Bir eklenti yanl\u0131\u015f izinle dosya silerse hangi s\u00fcrecin ne yapt\u0131\u011f\u0131n\u0131 ay\u0131rmak zorla\u015f\u0131r. Minecraft&#8217;\u0131 ayr\u0131 bir kullan\u0131c\u0131yla \u00e7al\u0131\u015ft\u0131rmak, gereksiz yetkileri s\u0131n\u0131rlayan basit bir ba\u015flang\u0131\u00e7t\u0131r.<\/p>\n<pre><code>ssh root@SUNUCU_IP\napt update &amp;&amp; apt full-upgrade -y\napt install -y sudo\nadduser --disabled-password --gecos \"\" minecraft\nusermod -aG sudo minecraft\nhostnamectl set-hostname mc-01<\/code><\/pre>\n<p>Buradaki <code>mc-01<\/code> de\u011ferini kendi sunucu ad\u0131n\u0131zla de\u011fi\u015ftirin. Production prompt&#8217;lar\u0131m k\u0131rm\u0131z\u0131, test makinelerim farkl\u0131 hostname kullan\u0131yor. Bir keresinde yanl\u0131\u015f sunucuda <code>rm -rf<\/code> komutuna \u00e7ok yakla\u015fm\u0131\u015ft\u0131m; terminalde beliren hostname son anda durmam\u0131 sa\u011flad\u0131. O g\u00fcnden beri hostname kontrol\u00fcn\u00fc al\u0131\u015fkanl\u0131k de\u011fil, i\u015flem \u00f6ncesi kontrol olarak g\u00f6r\u00fcyorum.<\/p>\n<p>SSH anahtar\u0131yla giri\u015f yap\u0131yorsan\u0131z yeni kullan\u0131c\u0131ya anahtar\u0131n\u0131z\u0131 kopyalay\u0131n:<\/p>\n<pre><code>ssh-copy-id minecraft@SUNUCU_IP<\/code><\/pre>\n<p>Yeni kullan\u0131c\u0131yla a\u00e7\u0131lan oturumu test etmeden root SSH eri\u015fimini kapatmay\u0131n. Ba\u011flant\u0131n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olduktan sonra <code>\/etc\/ssh\/sshd_config<\/code> i\u00e7inde root ve parola giri\u015fini s\u0131n\u0131rland\u0131rabilirsiniz:<\/p>\n<pre><code>PermitRootLogin no\nPasswordAuthentication no<\/code><\/pre>\n<p>De\u011fi\u015fiklikten \u00f6nce yap\u0131land\u0131rmay\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code>sshd -t &amp;&amp; systemctl reload ssh<\/code><\/pre>\n<p>SSH portunu de\u011fi\u015ftirmek tek ba\u015f\u0131na g\u00fcvenlik de\u011fildir. Ben fail2ban ve nftables kullanmay\u0131, loglar\u0131 okuyarak hangi sald\u0131r\u0131n\u0131n ger\u00e7ekten geldi\u011fini g\u00f6rmeyi tercih ediyorum. Minecraft portunu internete a\u00e7aca\u011f\u0131m\u0131z i\u00e7in <a href=\"https:\/\/www.vps.tc\/blog\/tr\/linux-sunucu-guvenligi-icin-zorunlu-10-temel-adim\/\">Linux Sunucu G\u00fcvenli\u011fi i\u00e7in Zorunlu 10 Temel Ad\u0131m<\/a> yaz\u0131s\u0131ndaki temel kontrolleri de atlamay\u0131n.<\/p>\n<h2 id=\"java-surumunu-kurmak\">Java s\u00fcr\u00fcm\u00fcn\u00fc kurmak<\/h2>\n<p>Minecraft s\u00fcr\u00fcm\u00fcyle Java s\u00fcr\u00fcm\u00fcn\u00fcn e\u015fle\u015fmesi gerekir. 1.20.5 ve sonras\u0131 s\u00fcr\u00fcmlerde Java 21, benim kulland\u0131\u011f\u0131m Paper s\u00fcr\u00fcmlerinde g\u00fcvenli ba\u015flang\u0131\u00e7 noktas\u0131 oldu. Da\u011f\u0131t\u0131m depolar\u0131ndaki OpenJDK paketini tercih ediyorum; \u00fc\u00e7\u00fcnc\u00fc taraf kurulum beti\u011fini root olarak \u00e7al\u0131\u015ft\u0131rmak yerine paket y\u00f6neticisinin iz b\u0131rakmas\u0131 daha rahat.<\/p>\n<pre><code>apt install -y openjdk-21-jre-headless curl wget unzip ufw\njava -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da Java 21 g\u00f6rmelisiniz. \u00d6rne\u011fin <code>openjdk version \"21.0.x\"<\/code> sat\u0131r\u0131 beklenir. Sunucunuz Minecraft 1.20.4 veya daha eski bir s\u00fcr\u00fcm \u00e7al\u0131\u015ft\u0131racaksa Java 17 gerekebilir; JAR dosyas\u0131n\u0131n ve Paper dok\u00fcmantasyonunun istedi\u011fi s\u00fcr\u00fcm\u00fc kontrol edin.<\/p>\n<p>JRE sunucuyu \u00e7al\u0131\u015ft\u0131rmak i\u00e7in yeterlidir. Derleme yapmayaca\u011f\u0131m\u0131z i\u00e7in tam JDK kurmak bu kurulumda gerekli de\u011fil.<\/p>\n<h2 id=\"paper-sunucu-dosyalarini-yerlestirme\">Paper sunucu dosyalar\u0131n\u0131 yerle\u015ftirme<\/h2>\n<p>\u015eimdi Minecraft kullan\u0131c\u0131s\u0131na ge\u00e7ip \u00e7al\u0131\u015fma dizinini olu\u015fturuyorum. Dizin yap\u0131s\u0131n\u0131 ba\u015ftan d\u00fczenli kurmak, s\u00fcr\u00fcm de\u011fi\u015fikli\u011fi ve yedekleme s\u0131ras\u0131nda zaman kazand\u0131r\u0131r.<\/p>\n<pre><code>su - minecraft\nmkdir -p \/home\/minecraft\/server\ncd \/home\/minecraft\/server\nwget -O paper.jar 'PAPER_DOWNLOAD_URL'\nls -lh paper.jar<\/code><\/pre>\n<p><code>PAPER_DOWNLOAD_URL<\/code> yerine Paper&#8217;\u0131n resmi indirme sayfas\u0131nda se\u00e7ti\u011finiz Minecraft s\u00fcr\u00fcm\u00fcne ait ba\u011flant\u0131y\u0131 koyun. URL&#8217;yi burada sabitlemiyorum; Paper s\u00fcr\u00fcmleri de\u011fi\u015fiyor. Rastgele bir JAR indirmek yerine yay\u0131mlanan dosyan\u0131n SHA-256 de\u011ferini kontrol edin.<\/p>\n<pre><code>sha256sum paper.jar<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131y\u0131 Paper&#8217;\u0131n yay\u0131mlad\u0131\u011f\u0131 hash ile kar\u015f\u0131la\u015ft\u0131r\u0131n. De\u011fer e\u015fle\u015fmiyorsa dosyay\u0131 \u00e7al\u0131\u015ft\u0131rmay\u0131n. Bu kontrol birka\u00e7 saniye s\u00fcrer.<\/p>\n<p>\u0130lk ba\u015flatma s\u0131ras\u0131nda EULA dosyas\u0131 olu\u015fturulaca\u011f\u0131 i\u00e7in sunucu hemen kapanabilir:<\/p>\n<pre><code>cd \/home\/minecraft\/server\njava -Xms2G -Xmx3G -jar paper.jar --nogui<\/code><\/pre>\n<p>Sunucu ilk \u00e7al\u0131\u015fmada <code>eula.txt<\/code> olu\u015fturur ve EULA kabul edilmedi\u011fi i\u00e7in kapan\u0131r. Dosyay\u0131 okuyup kabul ediyorsan\u0131z de\u011feri de\u011fi\u015ftirin:<\/p>\n<pre><code>sed -i 's\/^eula=false$\/eula=true\/' eula.txt<\/code><\/pre>\n<p>EULA&#8217;y\u0131 kabul etmeden \u00f6nce metni okuyun. Ard\u0131ndan ba\u015flatma komutunu yeniden \u00e7al\u0131\u015ft\u0131rarak d\u00fcnyan\u0131n olu\u015fmas\u0131n\u0131 bekleyin. Harita ilk a\u00e7\u0131l\u0131\u015fta \u00fcretildi\u011fi i\u00e7in disk ve CPU kullan\u0131m\u0131 k\u0131sa s\u00fcreli\u011fine y\u00fckselir.<\/p>\n<h2 id=\"ram-ayari-gorus-mesafesi-ve-performans\">RAM ayar\u0131, g\u00f6r\u00fc\u015f mesafesi ve performans<\/h2>\n<p><code>-Xms<\/code> ba\u015flang\u0131\u00e7 heap&#8217;ini, <code>-Xmx<\/code> ise Java&#8217;n\u0131n kullanabilece\u011fi \u00fcst s\u0131n\u0131r\u0131 belirler. K\u00fc\u00e7\u00fck bir VPS&#8217;te ikisini ayn\u0131 yapmak \u015fart de\u011fil. \u0130\u015fletim sistemi i\u00e7in \u00e7ok az RAM b\u0131rak\u0131yorsan\u0131z b\u00fcy\u00fck ba\u015flang\u0131\u00e7 heap&#8217;i sistemi s\u0131k\u0131\u015ft\u0131rabilir.<\/p>\n<p>4 GB RAM&#8217;li bir makinede \u00e7o\u011funlukla <code>-Xms2G -Xmx3G<\/code> ile ba\u015flar\u0131m. 8 GB RAM&#8217;de eklenti ve oyuncu say\u0131s\u0131na g\u00f6re 5-6 GB ay\u0131rabilirim. Heap&#8217;i b\u00fcy\u00fctmek her performans sorununu \u00e7\u00f6zmez. Ana i\u015flemci \u00e7ekirde\u011fi chunk \u00fcretiminde yeti\u015femiyorsa 12 GB heap de TPS de\u011ferini sihirli bi\u00e7imde d\u00fczeltmez.<\/p>\n<p><code>server.properties<\/code> i\u00e7inde ba\u015flang\u0131\u00e7 i\u00e7in \u015fu de\u011ferleri kullanabilirsiniz:<\/p>\n<pre><code>view-distance=8\nsimulation-distance=6\nonline-mode=true\nmotd=Arkadaslarin Minecraft Sunucusu\nmax-players=10<\/code><\/pre>\n<p><code>view-distance<\/code> oyuncuya g\u00f6nderilen chunk alan\u0131n\u0131, <code>simulation-distance<\/code> ise canl\u0131lar\u0131n ve redstone gibi mekaniklerin etkin oldu\u011fu alan\u0131 etkiler. \u0130ki de\u011feri gereksiz yere y\u00fckseltmek, \u00f6zellikle k\u00fc\u00e7\u00fck VPS&#8217;lerde i\u015flemci y\u00fck\u00fcn\u00fc art\u0131r\u0131r. \u00d6nce makul bir de\u011ferle ba\u015flay\u0131p ger\u00e7ek oyuncu davran\u0131\u015f\u0131na g\u00f6re ayarlay\u0131n.<\/p>\n<p>Performans sorununda \u00f6nce \u00f6l\u00e7\u00fcm yap\u0131n. Paper konsolundaki tick s\u00fcrelerini, i\u015fletim sistemi y\u00fck\u00fcn\u00fc ve oyuncu hareketini birlikte inceleyin. Sadece RAM kullan\u0131m\u0131na bakarak &#8220;bellek yetmiyor&#8221; demek, vardiyalarda s\u0131k g\u00f6rd\u00fc\u011f\u00fcm yanl\u0131\u015f te\u015fhislerden biri.<\/p>\n<h2 id=\"systemd-ile-servisi-kalici-calistirma\">systemd ile servisi kal\u0131c\u0131 \u00e7al\u0131\u015ft\u0131rma<\/h2>\n<p>SSH oturumunu a\u00e7\u0131k b\u0131rak\u0131p <code>java<\/code> komutunu terminalden \u00e7al\u0131\u015ft\u0131rmak test i\u00e7in uygundur, canl\u0131 sunucu i\u00e7in de\u011fil. SSH ba\u011flant\u0131s\u0131 koptu\u011funda oturumu korumak i\u00e7in tmux kullan\u0131labilir. Yeniden ba\u015flatma, servis durumu ve log takibi i\u00e7in systemd daha d\u00fczenli bir \u00e7\u00f6z\u00fcm.<\/p>\n<p>Root yetkisiyle servis dosyas\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code>exit\nvim \/etc\/systemd\/system\/minecraft.service<\/code><\/pre>\n<pre><code>[Unit]\nDescription=Minecraft Paper Server\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nUser=minecraft\nGroup=minecraft\nWorkingDirectory=\/home\/minecraft\/server\nExecStart=\/usr\/bin\/java -Xms2G -Xmx3G -jar paper.jar --nogui\nRestart=on-failure\nRestartSec=10\nTimeoutStopSec=60\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p><code>User=minecraft<\/code> sat\u0131r\u0131 kritik. Servis root olarak \u00e7al\u0131\u015fmad\u0131\u011f\u0131 i\u00e7in sunucu i\u00e7indeki bir a\u00e7\u0131k i\u015fletim sisteminin tamam\u0131na do\u011frudan eri\u015fim sa\u011flamaz. Tam bir g\u00fcvenlik s\u0131n\u0131r\u0131 de\u011fildir; gereksiz yetkiyi yine de ortadan kald\u0131r\u0131r.<\/p>\n<pre><code>systemctl daemon-reload\nsystemctl enable --now minecraft\nsystemctl status minecraft --no-pager<\/code><\/pre>\n<p>Durum \u00e7\u0131kt\u0131s\u0131nda <code>active (running)<\/code> g\u00f6rmelisiniz. Sorun varsa servisi tekrar tekrar ba\u015flatmay\u0131n; \u00f6nce loga bak\u0131n:<\/p>\n<pre><code>journalctl -u minecraft -n 100 --no-pager\njournalctl -u minecraft -f<\/code><\/pre>\n<p>Kernel g\u00fcncellemesinden sonra a\u00e7\u0131lmayan bir sunucuda rescue mode ve chroot ile u\u011fra\u015f\u0131rken snapshot&#8217;\u0131n de\u011ferini yeniden \u00f6\u011frenmi\u015ftim. Minecraft taraf\u0131nda da Java veya eklenti de\u011fi\u015fikli\u011finden \u00f6nce VPS snapshot&#8217;\u0131 almak iyi bir sigorta. Sigorta, hasar olduktan sonra de\u011fil, \u00f6nce i\u015fe yarar.<\/p>\n<h2 id=\"firewall-ve-minecraft-portu\">Firewall ve Minecraft portu<\/h2>\n<p>Minecraft Java Edition varsay\u0131lan olarak TCP <code>25565<\/code> portunu kullan\u0131r. UFW ile yaln\u0131zca gerekli trafi\u011fi a\u00e7\u0131n:<\/p>\n<pre><code>ufw default deny incoming\nufw default allow outgoing\nufw allow OpenSSH\nufw allow 25565\/tcp\nufw enable\nufw status verbose<\/code><\/pre>\n<p>SSH portunuz standart de\u011filse <code>OpenSSH<\/code> yerine ger\u00e7ek portu yaz\u0131n. Firewall&#8217;u etkinle\u015ftirmeden \u00f6nce mevcut SSH oturumunuzu kapatmadan yeni bir ba\u011flant\u0131y\u0131 do\u011frulay\u0131n. Aksi halde kendinizi VPS&#8217;ten d\u0131\u015far\u0131da b\u0131rakabilirsiniz.<\/p>\n<p>Bedrock oyuncular\u0131 ba\u011flanacaksa Java sunucusu tek ba\u015f\u0131na yeterli de\u011fildir. GeyserMC gibi bir k\u00f6pr\u00fc ve \u00e7o\u011funlukla UDP portu gerekir. Yaln\u0131zca Java Edition hedefliyorsan\u0131z gereksiz UDP kural\u0131 a\u00e7may\u0131n.<\/p>\n<h2 id=\"alan-adiyla-baglanmak-ve-dns-kontrolu\">Alan ad\u0131yla ba\u011flanmak ve DNS kontrol\u00fc<\/h2>\n<p>Oyunculara IP adresi vermek yerine bir alt alan ad\u0131 kullanmak daha rahat olur. DNS&#8217;te <code>mc.ornek.com<\/code> i\u00e7in VPS IPv4 adresine bir A kayd\u0131 ekleyin. IPv6 kullan\u0131yorsan\u0131z AAAA kayd\u0131n\u0131n da do\u011fru sunucuya gitti\u011fini kontrol edin; yanl\u0131\u015f AAAA kayd\u0131 baz\u0131 oyuncular\u0131n ba\u011flanamamas\u0131na yol a\u00e7abilir.<\/p>\n<pre><code>dig +short A mc.ornek.com\ndig +short AAAA mc.ornek.com<\/code><\/pre>\n<p>DNS sorunlar\u0131nda \u00f6nce panele de\u011fil terminale giderim. <code>dig +short<\/code> bekledi\u011finiz IP&#8217;yi vermiyorsa Minecraft ayar\u0131n\u0131 kurcalaman\u0131n faydas\u0131 yok. Port varsay\u0131lan de\u011filse oyuncular\u0131n <code>mc.ornek.com:25570<\/code> gibi tam adres kullanmas\u0131 gerekir. SRV kayd\u0131yla portu gizlemek m\u00fcmk\u00fcn olsa da ilk kurulumda A kayd\u0131 daha basit.<\/p>\n<h2 id=\"whitelist-op-ve-eklenti-kurulumu\">Whitelist, OP ve eklenti kurulumu<\/h2>\n<p>Sunucu ilk a\u00e7\u0131ld\u0131\u011f\u0131nda kendinizi OP yapmak i\u00e7in konsola \u015fu komutlar\u0131 yazabilirsiniz:<\/p>\n<pre><code>op OYUNCU_ADI\nwhitelist on\nwhitelist add OYUNCU_ADI\nsave-all<\/code><\/pre>\n<p>Sunucuyu internete a\u00e7t\u0131\u011f\u0131n\u0131z anda whitelist kullanmak, tan\u0131mad\u0131\u011f\u0131n\u0131z oyuncular\u0131n d\u00fcnyaya girmesini engeller. OP yetkisini yaln\u0131zca ihtiya\u00e7 duyan hesaplara verin. Eklenti y\u00f6neticileri de root de\u011fildir; k\u00f6t\u00fc veya g\u00fcncel olmayan bir eklenti yine dosya sistemine zarar verebilir. Kayna\u011f\u0131 belirsiz JAR dosyalar\u0131n\u0131 canl\u0131 sunucuda denemeyin.<\/p>\n<p>Paper eklentileri <code>\/home\/minecraft\/server\/plugins<\/code> dizinine kopyalan\u0131r:<\/p>\n<pre><code>install -d -o minecraft -g minecraft \/home\/minecraft\/server\/plugins\nsystemctl stop minecraft\ncp eklenti.jar \/home\/minecraft\/server\/plugins\/\nchown minecraft:minecraft \/home\/minecraft\/server\/plugins\/eklenti.jar\nsystemctl start minecraft<\/code><\/pre>\n<p>Bu komutlar\u0131 root yetkisiyle \u00e7al\u0131\u015ft\u0131r\u0131n. Birden fazla eklentiyi ayn\u0131 anda eklemek yerine tek tek ekleyin; sorun \u00e7\u0131karsa hangi de\u011fi\u015fikli\u011fin sebep oldu\u011funu bilirsiniz. Konteyner tabanl\u0131 y\u00f6netim istiyorsan\u0131z <a href=\"https:\/\/www.vps.tc\/blog\/tr\/vps-docker-kurulumu-ilk-konteyner\/\">VPS&#8217;te Docker Kurulumu ve \u0130lk Konteyneri \u00c7al\u0131\u015ft\u0131rma<\/a> yaz\u0131s\u0131ndaki y\u00f6ntemi inceleyebilirsiniz. Docker kullanmak Java, disk ve yedekleme sorumlulu\u011funu ortadan kald\u0131rmaz.<\/p>\n<h2 id=\"yedekleme-olmadan-sunucu-kuruldu-sayilmaz\">Yedekleme olmadan sunucu kuruldu say\u0131lmaz<\/h2>\n<p>Minecraft d\u00fcnyas\u0131 oyuncular\u0131n saatlerini i\u00e7erir. Sunucu \u00e7al\u0131\u015f\u0131yor diye verinin g\u00fcvende oldu\u011funu varsaymay\u0131n. Disk ar\u0131zas\u0131, yanl\u0131\u015f eklenti, bozuk chunk veya yetkisini k\u00f6t\u00fcye kullanan bir oyuncu d\u00fcnyay\u0131 kullan\u0131lmaz hale getirebilir.<\/p>\n<p>En az\u0131ndan d\u00fcnya klas\u00f6rlerini d\u00fczenli yedekleyin. Yedek s\u0131ras\u0131nda veri tutarl\u0131l\u0131\u011f\u0131 i\u00e7in konsoldan kaydetme ve k\u0131sa durdurma tercih edilebilir:<\/p>\n<pre><code>systemctl stop minecraft\ntar -czf \/var\/backups\/minecraft-$(date +%F).tar.gz \n  -C \/home\/minecraft\/server world world_nether world_the_end server.properties whitelist.json ops.json\nsystemctl start minecraft<\/code><\/pre>\n<p>Bu \u00f6rnek yerel yedek olu\u015fturur. Ayn\u0131 VPS&#8217;in diskine yaz\u0131lan dosya, VPS tamamen kayboldu\u011funda sizi kurtarmaz. Harici depolamaya rsync veya borgbackup ile kopyalay\u0131n. Yedek dosyas\u0131n\u0131 bir kez olu\u015fturup hi\u00e7 geri y\u00fcklememek, benim i\u00e7in test edilmemi\u015f yedektir. Ayda bir ge\u00e7ici bir dizine a\u00e7\u0131p d\u00fcnyan\u0131n ger\u00e7ekten okunabildi\u011fini kontrol edin.<\/p>\n<p>Otomatik yedek i\u00e7in cron kullan\u0131labilir; zamanlamay\u0131 iki kez kontrol edin. Bir cron sat\u0131r\u0131na fazladan y\u0131ld\u0131z koydu\u011fum bir d\u00f6nemde yedek script&#8217;i her dakika \u00e7al\u0131\u015fm\u0131\u015f, ard\u0131ndan posta kuyru\u011fu b\u00fcy\u00fcm\u00fc\u015ft\u00fc. K\u00fc\u00e7\u00fck bir s\u00f6zdizimi hatas\u0131, sunucu y\u00f6netiminde beklenenden pahal\u0131 olabilir.<\/p>\n<h2 id=\"izleme-ve-sik-karsilasilan-sorunlar\">\u0130zleme ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar<\/h2>\n<p>Uptime Kuma yaln\u0131zca sunucunun portuna ba\u011flant\u0131y\u0131 kontrol eder; oyun performans\u0131n\u0131n iyi oldu\u011funu g\u00f6stermez. CPU, RAM, disk kullan\u0131m\u0131 ve disk gecikmesini node_exporter ile Prometheus&#8217;a g\u00f6nderip Grafana&#8217;da izlemek daha a\u00e7\u0131klay\u0131c\u0131d\u0131r. Ev lab&#8217;\u0131mda bir fan ar\u0131zas\u0131 s\u0131ras\u0131nda s\u0131cakl\u0131k grafi\u011fi basamak basamak y\u00fckselmi\u015fti. Sorunu oyuncular s\u00f6ylemeden \u00f6nce grafik haber verdi.<\/p>\n<p>Disk dolulu\u011funu kontrol etmek i\u00e7in:<\/p>\n<pre><code>df -h\nncdu -x \/home\/minecraft\/server<\/code><\/pre>\n<p><code>ncdu -x<\/code> ba\u015fka dosya sistemlerine ge\u00e7meden ger\u00e7ek t\u00fcketimi g\u00f6sterir. D\u00fcnya klas\u00f6r\u00fc beklenmedik bi\u00e7imde b\u00fcy\u00fcyorsa harita \u00fcretimini, log dosyalar\u0131n\u0131 ve eklenti cache&#8217;lerini inceleyin.<\/p>\n<p>Servis \u00e7al\u0131\u015f\u0131yor ama ba\u011flant\u0131 yoksa:<\/p>\n<pre><code>systemctl status minecraft --no-pager\nss -ltnp | grep 25565\nufw status\nmtr -rwzbc 20 mc.ornek.com<\/code><\/pre>\n<p><code>ss<\/code> \u00e7\u0131kt\u0131s\u0131nda Java s\u00fcrecinin portu dinledi\u011fini g\u00f6rmelisiniz. Port dinleniyor, firewall a\u00e7\u0131k ve DNS do\u011fru oldu\u011fu halde gecikme varsa <code>mtr<\/code> ile a\u011f yolunu inceleyin. Her paket kayb\u0131 Minecraft sunucusundan kaynaklanmaz; baz\u0131 ara y\u00f6nlendiriciler ICMP paketlerini k\u0131s\u0131tlayabilir.<\/p>\n<p>Oyuncular &#8220;lag var&#8221; dedi\u011finde TPS, CPU ve a\u011f gecikmesini birbirinden ay\u0131r\u0131n. G\u00f6r\u00fc\u015f mesafesini d\u00fc\u015f\u00fcrmek i\u015flemci y\u00fck\u00fcn\u00fc azaltabilir; y\u00fcksek ping sorununu \u00e7\u00f6zmez. RAM&#8217;i art\u0131rmak da bozuk bir eklentinin olu\u015fturdu\u011fu entity kalabal\u0131\u011f\u0131n\u0131 ortadan kald\u0131rmaz.<\/p>\n<h2 id=\"kurulumdan-sonra-son-kontroller\">Kurulumdan sonra son kontroller<\/h2>\n<ul>\n<li>Java s\u00fcr\u00fcm\u00fc, Minecraft ve Paper s\u00fcr\u00fcm\u00fcyle uyumlu mu?<\/li>\n<li>Sunucu root yerine <code>minecraft<\/code> kullan\u0131c\u0131s\u0131yla m\u0131 \u00e7al\u0131\u015f\u0131yor?<\/li>\n<li><code>systemctl enable minecraft<\/code> ile yeniden ba\u015flatma sonras\u0131 otomatik a\u00e7\u0131lacak m\u0131?<\/li>\n<li>UFW yaln\u0131zca SSH ve gerekli Minecraft portunu mu a\u00e7\u0131yor?<\/li>\n<li>Whitelist etkin mi, OP hesaplar\u0131 s\u0131n\u0131rl\u0131 m\u0131?<\/li>\n<li>Harici konuma al\u0131nan ve geri y\u00fcklemesi test edilen bir yedek var m\u0131?<\/li>\n<li>CPU, RAM, disk ve servis durumu i\u00e7in alarm tan\u0131ml\u0131 m\u0131?<\/li>\n<\/ul>\n<p>Bu sorular\u0131n hepsine &#8220;evet&#8221; diyemiyorsan\u0131z sunucuyu oyunculara duyurmak i\u00e7in biraz bekleyin. Ben de bazen &#8220;\u015fimdilik \u00e7al\u0131\u015f\u0131yor&#8221; diyerek izleme ve yedekleme k\u0131sm\u0131n\u0131 sonraya b\u0131rak\u0131yorum; sonra k\u00fc\u00e7\u00fck bir bak\u0131m i\u015fi gece vardiyas\u0131na d\u00f6n\u00fc\u015f\u00fcyor.<\/p>\n<h2 id=\"sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/h2>\n<h3>Minecraft sunucusu i\u00e7in ka\u00e7 GB RAM gerekir?<\/h3>\n<p>Az eklentili 2-5 oyunculu bir Java sunucusu i\u00e7in 2 GB ile ba\u015flanabilir, fakat i\u015fletim sistemi i\u00e7in de bellek b\u0131rak\u0131lmal\u0131d\u0131r. Oyuncu say\u0131s\u0131, modlar, g\u00f6r\u00fc\u015f mesafesi ve d\u00fcnya \u00fcretimi artt\u0131k\u00e7a 4 GB veya daha fazlas\u0131 gerekebilir.<\/p>\n<h3>VPS&#8217;te Minecraft sunucusu i\u00e7in hangi Java s\u00fcr\u00fcm\u00fc kullan\u0131lmal\u0131?<\/h3>\n<p>Minecraft 1.20.5 ve daha yeni s\u00fcr\u00fcmlerde genellikle Java 21, daha eski s\u00fcr\u00fcmlerde \u00e7o\u011funlukla Java 17 kullan\u0131l\u0131r. Kesin s\u00fcr\u00fcm\u00fc Paper&#8217;\u0131n ilgili s\u00fcr\u00fcm notlar\u0131 ve sunucu ba\u015flatma \u00e7\u0131kt\u0131s\u0131yla do\u011frulay\u0131n.<\/p>\n<h3>Minecraft sunucusuna alan ad\u0131 nas\u0131l ba\u011flan\u0131r?<\/h3>\n<p>Alt alan ad\u0131n\u0131z i\u00e7in VPS IPv4 adresine bir A kayd\u0131 ekleyebilirsiniz. Sunucu 25565 d\u0131\u015f\u0131nda bir port kullan\u0131yorsa oyuncular portu adresin sonuna yazmal\u0131 veya uygun bir SRV kayd\u0131 tan\u0131mlanmal\u0131d\u0131r.<\/p>\n<h3>Sunucuyu kapatmadan yedek almak m\u00fcmk\u00fcn m\u00fc?<\/h3>\n<p>M\u00fcmk\u00fcn, fakat d\u00fcnya verisi yaz\u0131l\u0131rken al\u0131nan kopya tutars\u0131z olabilir. K\u00fc\u00e7\u00fck sunucularda <code>save-all<\/code> sonras\u0131 k\u0131sa bir durdurma en g\u00fcvenli y\u00f6ntemdir; daha geli\u015fmi\u015f kurulumlarda dosya sistemi snapshot&#8217;\u0131 ve geri y\u00fckleme testi kullan\u0131labilir.<\/p>\n<p>Benim i\u00e7in kurulumun bitti\u011fi an, oyuncunun ba\u011fland\u0131\u011f\u0131 an de\u011fil; sunucunun yeniden ba\u015flad\u0131ktan sonra kendili\u011finden a\u00e7\u0131ld\u0131\u011f\u0131 ve yede\u011fin ger\u00e7ekten geri d\u00f6nd\u00fc\u011f\u00fc and\u0131r. Bu iki testi yapmadan IP adresini arkada\u015f grubuna g\u00f6ndermiyorum.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ubuntu VPS \u00fczerinde Paper kullanarak Minecraft sunucusu kurma: Java kurulumu, g\u00fcvenli kullan\u0131c\u0131, systemd servisi, firewall, DNS, whitelist ve yedekleme.<\/p>\n","protected":false},"author":2,"featured_media":406,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[157],"tags":[1468,389,1464,1466,166,1249,114],"class_list":["post-408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hosting","tag-java","tag-linux","tag-minecraft","tag-paper","tag-sunucu-yonetimi","tag-ubuntu","tag-vps"],"lang":"tr","translations":{"tr":408,"en":409},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/comments?post=408"}],"version-history":[{"count":1,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/408\/revisions"}],"predecessor-version":[{"id":410,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/408\/revisions\/410"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media\/406"}],"wp:attachment":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media?parent=408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/categories?post=408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/tags?post=408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}