Hexxit (Minecraft Mod Paketi) Sunucusu Ubuntu 14.04 Üzerine Kurulum Rehberi
Minecraft, dünya çapında milyonlarca oyuncusu olan popüler bir sandbox oyunudur. Bu oyunun sunduğu en büyük esnekliklerden biri, oyuncuların deneyimlerini mod paketleri aracılığıyla genişletebilmesidir. Hexxit, Technic Platform tarafından geliştirilen ve maceraya, keşfe ve tehlikeli zindanlara odaklanan popüler bir Minecraft 1.5.2 mod paketidir. Arkadaşlarınızla bu heyecan verici dünyayı keşfetmek için kendi Hexxit sunucunuzu kurmak, oyun deneyiminizi bir üst seviyeye taşıyacaktır. Bu kapsamlı rehberde, Ubuntu 14.04 işletim sistemi üzerinde bir Hexxit sunucusunu adım adım nasıl kuracağınızı, yapılandıracağınızı ve yöneteceğinizi detaylı bir şekilde anlatacağız. Ubuntu 14.04’ün eski bir sürüm olması nedeniyle, bu rehberde eski sistemlere özgü bazı yaklaşımlar ve yazılım sürümleri ele alınacaktır.
Gereksinimler
Bir Hexxit sunucusu kurmaya başlamadan önce, belirli donanım ve yazılım gereksinimlerini karşıladığınızdan emin olmalısınız. Bu gereksinimler, sunucunuzun sorunsuz çalışmasını ve oyunculara iyi bir deneyim sunmasını sağlayacaktır.
Donanım Gereksinimleri
Hexxit, birçok mod içerdiği için standart bir Minecraft sunucusundan daha fazla kaynak tüketir.
* İşlemci (CPU): Çok çekirdekli bir işlemci tercih edilir. Çoğu Minecraft sunucusu tek çekirdek performansına daha duyarlı olsa da, modlu sunucular genel işlem gücünden faydalanabilir.
* Bellek (RAM): Bu, en kritik faktördür.
* 2-4 GB RAM: 2-5 oyuncu için minimum kabul edilebilir.
* 4-8 GB RAM: 5-10 oyuncu için önerilir.
* 8 GB ve üzeri RAM: Daha fazla oyuncu veya daha yoğun modlu paketler için idealdir. Unutmayın, işletim sistemi de belirli bir miktar RAM kullanacaktır.
* Depolama (Disk): SSD (Katı Hal Sürücü) kullanılması şiddetle tavsiye edilir. Harita yüklemeleri ve mod dosyalarına erişim, SSD’lerde çok daha hızlıdır, bu da oyun içi gecikmeyi azaltır. En az 20-30 GB boş alan gereklidir, ancak harita büyüdükçe bu alan artacaktır.
* Ağ Bağlantısı: Kararlı ve yüksek hızlı bir internet bağlantısı (yükleme ve indirme) olmazsa olmazdır.
Yazılım ve Erişim Gereksinimleri
* İşletim Sistemi: Ubuntu 14.04 (Sunucu sürümü tercih edilir).
* SSH İstemcisi: Windows için PuTTY, macOS/Linux için yerleşik terminal.
* Temel Linux Bilgisi: Komut satırında gezinme, dosya işlemleri ve temel paket yönetimi bilgisi faydalı olacaktır.
* Root veya Sudo Yetkileri: Sunucuda sistem düzeyinde değişiklikler yapmak için gereklidir.
Ubuntu 14.04 Sunucusunun Hazırlanması
Sunucuyu kurmadan önce, Ubuntu 14.04 sisteminizi Hexxit sunucusu için uygun hale getirmemiz gerekiyor. Bu adımlar, gerekli yazılımları kurmayı ve güvenlik için yeni bir kullanıcı oluşturmayı içerir.
Sistem Güncellemesi
Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak iyi bir uygulamadır. Bu, güvenlik açıklarını kapatır ve en son paket listelerine sahip olmanızı sağlar.
sudo apt-get update
sudo apt apt-get upgrade -y
apt-get update komutu, paket listelerini güncellerken, apt-get upgrade -y komutu ise mevcut tüm paketleri onay gerektirmeden günceller.
Yeni Bir Kullanıcı Oluşturma
Minecraft sunucusunu root kullanıcısı olarak çalıştırmak güvenlik açısından risklidir. Bunun yerine, sunucu için özel, yetkisiz bir kullanıcı oluşturmak en iyi yöntemdir.
sudo adduser minecraft
Bu komut, minecraft adında yeni bir kullanıcı oluşturmanızı ister. Sizden yeni bir parola belirlemeniz ve bazı isteğe bağlı bilgiler girmeniz istenecektir. Bilgileri girdikten sonra, kullanıcı oluşturulacaktır. Şimdi bu kullanıcıya geçiş yapalım:
sudo su - minecraft
Artık minecraft kullanıcısı olarak işlem yapacaksınız. Sunucu dosyalarını bu kullanıcının ana dizinine indireceğiz.
Java Kurulumu (OpenJDK 7)
Hexxit, Minecraft 1.5.2 tabanlı bir mod paketidir. Bu sürüm genellikle Java 7 ile en iyi performansı gösterir. Ubuntu 14.04 deposunda OpenJDK 7 bulunur ve bu, Hexxit için ideal bir seçimdir.
minecraft kullanıcısındayken, Java’yı kurmak için sudo yetkilerine ihtiyacınız olacak. Geçici olarak root veya sudo yetkili kullanıcıya geri dönüp Java’yı kurabilir, ardından minecraft kullanıcısına geçebilirsiniz.
# İlk önce minecraft kullanıcısından çıkış yapın
exit
Şimdi root veya sudo yetkili kullanıcısınız
sudo apt-get install openjdk-7-jre-headless -y
openjdk-7-jre-headless paketi, sunucu ortamları için grafik arayüzü olmayan (headless) Java Runtime Environment’ı (JRE) kurar. Bu, sunucu kaynaklarını daha verimli kullanır. Kurulum tamamlandıktan sonra, Java sürümünü kontrol edebilirsiniz:
java -version
Çıktı olarak openjdk version "1.7.0_..." gibi bir şey görmelisiniz. Şimdi tekrar minecraft kullanıcısına geçin:
sudo su - minecraft
Gerekli Yardımcı Programların Kurulumu (Screen, Unzip)
Sunucuyu arka planda çalıştırmak ve sıkıştırılmış dosyaları açmak için bazı yardımcı programlara ihtiyacımız olacak.
* screen: Bu araç, SSH bağlantınız kesilse bile sunucunuzun çalışmaya devam etmesini sağlar. Ayrıca, tek bir SSH oturumu içinde birden fazla terminal penceresi oluşturmanıza olanak tanır.
* unzip: Hexxit sunucu dosyaları genellikle ZIP formatında gelir, bu yüzden bunları ayıklamak için unzip aracına ihtiyacımız olacak.
Yine, bu kurulumlar için sudo yetkilerine ihtiyacınız olacak:
# minecraft kullanıcısından çıkış yapın
exit
root veya sudo yetkili kullanıcısınız
sudo apt-get install screen unzip -y
Tekrar minecraft kullanıcısına geçin
sudo su - minecraft
Hexxit Sunucu Dosyalarının İndirilmesi ve Hazırlanması
Artık sunucunuz hazır olduğuna göre, Hexxit sunucu dosyalarını indirip kurulum için hazırlayabiliriz.
Hexxit Sunucu Paketini İndirme
Hexxit sunucu dosyalarını Technic Platform’un resmi web sitesinden indirmeniz gerekmektedir. Genellikle “Hexxit Server” veya “Hexxit Server Download” gibi bir bağlantı bulunur. Web sitesinden indirme bağlantısını kopyaladıktan sonra, sunucunuzda wget komutunu kullanarak indirebilirsiniz.
Önemli Not: Hexxit, eski bir mod paketidir ve Technic Platform’daki indirme bağlantıları zamanla değişebilir. Bu rehber yazıldığı sırada, Technic Platform’un Hexxit sayfasında doğrudan bir sunucu dosyası indirme bağlantısı bulmak zor olabilir. Genellikle Technic Launcher üzerinden “Server Pack” indirme seçeneği sunulur. Eğer doğrudan bir .zip URL’si bulamazsanız, Technic Launcher’ı bilgisayarınıza kurup oradan “Server Pack”i indirip SFTP (örneğin FileZilla ile) aracılığıyla sunucunuza yüklemeniz gerekebilir. Bu rehberde, bir .zip dosyasının doğrudan indirilebilir olduğunu varsayacağız.
Örnek olarak (gerçek bağlantıyı bulup değiştirmeniz gerekecektir):
cd ~
wget -O hexxit_server.zip "https://launcher.technicpack.net/modpacks/hexxit/hexxit-server-latest.zip"
Yukarıdaki URL temsilidir, gerçek indirme bağlantısını bulun ve buraya yapıştırın.
cd ~ komutu, minecraft kullanıcısının ana dizinine gitmenizi sağlar. -O hexxit_server.zip seçeneği, indirilen dosyanın adını hexxit_server.zip olarak kaydetmenizi sağlar.
Sunucu Dosyalarını Ayıklama ve Düzenleme
İndirme tamamlandıktan sonra, ZIP dosyasını ayıklamamız gerekiyor.
unzip hexxit_server.zip
Bu komut, dosyaları mevcut dizine ayıklayacaktır. Ayıklanan dosyaların genellikle bir klasör içinde olduğunu göreceksiniz (örneğin, hexxit-server). Bu klasörün içine girin:
cd hexxit-server # veya ayıklanan klasörün adı neyse
Bu klasörde, minecraft_server.jar, forge-*.jar, libraries klasörü, mods klasörü ve muhtemelen bir launcher-server.sh veya start.sh betiği gibi dosyaları bulacaksınız.
EULA Anlaşmasını Onaylama
Minecraft sunucusunu ilk kez başlattığınızda, Mojang’ın Son Kullanıcı Lisans Anlaşması’nı (EULA) kabul etmeniz gerekir. Aksi takdirde sunucu başlamaz.
Ayıklanan Hexxit sunucu klasöründe, eula.txt adında bir dosya bulacaksınız. Bu dosyayı düzenlemeniz gerekiyor:
nano eula.txt
Dosyanın içinde eula=false yazan bir satır göreceksiniz. Bunu eula=true olarak değiştirin:
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://minecraft.net/terms)
#Sat Jan 01 00:00:00 UTC 2023
eula=true
Kaydetmek için Ctrl+O, çıkmak için Ctrl+X tuşlarına basın.
Hexxit Sunucusunu Yapılandırma
Sunucu dosyalarını indirdik ve EULA’yı kabul ettik. Şimdi, sunucunun nasıl çalışacağını belirleyen önemli yapılandırma dosyalarını düzenlememiz gerekiyor.
launcher-server.sh veya Özel Başlatma Betiği
Hexxit paketi genellikle bir launcher-server.sh veya start.sh betiği ile gelir. Bu betik, Java’yı uygun argümanlarla (bellek ayırma gibi) çalıştırarak sunucuyu başlatır. Bu betiği düzenleyerek sunucuya ayrılacak bellek miktarını ayarlayabiliriz.
nano launcher-server.sh
Bu betiğin içinde java -Xmx... -Xms... ile başlayan bir satır arayın. -Xmx maksimum bellek miktarını, -Xms ise başlangıç belleği miktarını belirler. Örneğin, sunucuya 6 GB RAM ayırmak istiyorsanız, bu satırı şöyle düzenleyebilirsiniz:
java -Xmx6G -Xms2G -jar forge-*.jar nogui
* -Xmx6G: Maksimum 6 Gigabayt RAM kullan.
* -Xms2G: Başlangıçta 2 Gigabayt RAM ayır. Bu, sunucunun başlamasını hızlandırabilir.
forge-.jar: Bu, Hexxit’in kullandığı Forge mod yükleyicisinin ana JAR dosyasıdır. Dosya adını klasörünüzdeki gerçek Forge JAR dosyasıyla (örn. forge-1.5.2-7.8.1.738-universal.jar) değiştirmeniz gerekebilir. Veya betik zaten doğru joker karakteri kullanıyorsa olduğu gibi bırakabilirsiniz.
* nogui: Sunucunun grafik arayüzünü (GUI) başlatmamasını sağlar, bu da sunucu ortamında gereksiz kaynak tüketimini önler.
Yaptığınız değişiklikleri kaydedin (Ctrl+O, Ctrl+X).
Önemli: Betiğin çalıştırılabilir olduğundan emin olun:
chmod +x launcher-server.sh
server.properties Dosyasını Düzenleme
server.properties dosyası, Minecraft sunucunuzun davranışını kontrol eden ana yapılandırma dosyasıdır. İlk çalıştırmadan sonra bu dosya otomatik olarak oluşturulur, ancak bazı önemli ayarları önceden elle oluşturup ayarlayabiliriz veya ilk çalıştırmadan sonra düzenleyebiliriz.
Sunucuyu ilk kez çalıştırmadan önce, bir server.properties dosyası oluşturmayabilir. Bu durumda, sunucuyu bir kez kısa süreliğine başlatıp durdurarak bu dosyanın oluşturulmasını sağlayabilirsiniz.
# Sunucuyu başlat (sadece dosyanın oluşması için kısa süreliğine)
./launcher-server.sh
Birkaç saniye bekleyin, sonra Ctrl+C ile durdurun
Şimdi server.properties dosyasını düzenleyebilirsiniz:
nano server.properties
İşte Hexxit sunucunuz için önemli olabilecek bazı ayarlar ve açıklamaları:
* enable-query=false: Sunucu sorgu protokolünü etkinleştirir/devre dışı bırakır. Genellikle kapalı kalması önerilir.
* level-name=world: Dünya klasörünün adı. Değiştirmezseniz world olarak kalır.
* enable-rcon=false: Uzaktan konsol erişimini etkinleştirir/devre dışı bırakır. Genellikle kapalı kalması önerilir, aksi takdirde ek güvenlik önlemleri gerektirir.
* generator-settings=: Dünya oluşturma ayarları. Özel bir şey kullanmıyorsanız boş bırakın.
* allow-nether=true: Nether boyutuna erişime izin verir.
* gamemode=0: Varsayılan oyun modu (0=Survival, 1=Creative, 2=Adventure, 3=Spectator – Hexxit 1.5.2’de Spectator yok).
* server-port=25565: Sunucunun dinleyeceği port. Varsayılan 25565’tir. Değiştirirseniz, oyuncuların bağlanırken yeni portu belirtmesi gerekir.
* enable-command-block=false: Komut bloklarını etkinleştirir/devre dışı bırakır.
* enable-flight=true: Oyuncuların uçmasına izin verir (Creative modunda veya modlarla).
* level-type=DEFAULT: Dünya tipi (DEFAULT, FLAT, LARGEBIOMES).
* level-seed=: Dünya için tohum (seed). Boş bırakılırsa rastgele bir tohum kullanılır.
* max-build-height=256: Blokların inşa edilebileceği maksimum yükseklik.
* spawn-npcs=true: Köylülerin ve diğer NPC’lerin ortaya çıkmasına izin verir.
* white-list=false: Beyaz listeyi etkinleştirir/devre dışı bırakır. true yaparsanız, sadece whitelist.json dosyasındaki oyuncular bağlanabilir.
* spawn-animals=true: Hayvanların ortaya çıkmasına izin verir.
* hardcore=false: Hardcore modunu etkinleştirir. Oyuncular öldüğünde sunucudan yasaklanır.
* snooper-enabled=true: Mojang’a kullanım verileri gönderir. Gizlilik endişeniz varsa false yapabilirsiniz.
* online-mode=true: Sunucunun Mojang kimlik doğrulama sunucularını kullanıp kullanmayacağını belirler. Lisanslı Minecraft hesapları için true olmalıdır. Korsan istemcilerin bağlanmasına izin vermek için false yapılabilir, ancak bu önerilmez ve güvenlik riskleri taşır.
* resource-pack=: Oyunculara otomatik olarak indirilecek kaynak paketi URL’si.
* pvp=true: Oyuncular arası çatışmaya (PvP) izin verir.
* difficulty=1: Oyun zorluğu (0=Peaceful, 1=Easy, 2=Normal, 3=Hard).
* server-ip=: Sunucunun dinleyeceği IP adresi. Genellikle boş bırakılır, bu da tüm IP adreslerinden bağlantı kabul edildiği anlamına gelir.
* spawn-monsters=true: Canavarların ortaya çıkmasına izin verir.
* generate-structures=true: Yapıların (köyler, zindanlar vb.) oluşmasına izin verir.
* view-distance=10: Oyuncuların görebileceği maksimum chunk mesafesi. Düşük değerler performansı artırır, yüksek değerler düşürür. Hexxit gibi modlu sunucularda 6-8 arası değerler önerilir.
* motd=A Minecraft Server: Sunucu listesinde görünen mesaj (Message of the Day). Renkli kodlar kullanılabilir.
* max-players=20: Sunucuya aynı anda bağlanabilecek maksimum oyuncu sayısı.
* texture-pack=: (Eski Minecraft sürümleri için) Oyunculara otomatik indirilecek doku paketi.
* spawn-protection=16: Spawn noktasının etrafındaki korumalı alanın yarıçapı. Sadece OP’lar bu alanda blok kırabilir/yerleştirebilir.
* op-permission-level=4: OP’lara verilen izin seviyesi. (1=Oyuncuları koruyabilir, 2=Tek komutlar, 3=Çoğu komut, 4=Tüm komutlar).
* allow-flight=true: Uçuşa izin verir. Bu, modlu sunucularda oyuncuların uçuş modlarını kullanabilmesi için önemlidir.
Ayarları istediğiniz gibi düzenledikten sonra kaydedin (Ctrl+O, Ctrl+X).
ops.json ve whitelist.json Dosyaları
* ops.json: Sunucuda yönetici (OP) yetkilerine sahip olacak oyuncuların listesini içerir. Bu oyuncular, oyun içinde komutları kullanabilir ve sunucuyu yönetebilir. Oyuncuları OP yapmak için sunucu konsolunda op komutunu kullanabilirsiniz.
* whitelist.json: Eğer server.properties dosyasında white-list=true olarak ayarlandıysa, bu dosya sunucuya bağlanabilecek oyuncuların listesini içerir. Oyuncuları beyaz listeye eklemek için sunucu konsolunda whitelist add komutunu kullanabilirsiniz.
Bu dosyaları elle düzenlemek yerine, sunucu çalışırken konsol komutlarını kullanmak daha güvenli ve kolaydır.
Hexxit Sunucusunu Başlatma ve Yönetme
Tüm hazırlıklar tamamlandığına göre, artık Hexxit sunucunuzu başlatabiliriz.
Screen Kullanarak Sunucuyu Başlatma
screen komutu, sunucunuzun SSH oturumunuz kapansa bile çalışmaya devam etmesini sağlar.
1. Bir screen oturumu başlatın:
screen -S hexxit_server
-S hexxit_server komutu, oturuma hexxit_server adını verir, bu da birden fazla screen oturumunuz varsa yönetimi kolaylaştırır.
2. Hexxit sunucusunu başlatın:
Şimdi screen oturumunun içindesiniz. Sunucuyu başlatmak için launcher-server.sh betiğini çalıştırın:
./launcher-server.sh
Sunucu başlatma işlemi biraz zaman alabilir, özellikle ilk çalıştırmada dünya dosyaları oluşturulurken. Konsolda birçok log mesajı göreceksiniz. “Done” veya “For help, type “help” or “?”” gibi bir mesaj gördüğünüzde sunucu hazır demektir.
3. screen oturumundan ayrılın:
Sunucu çalışırken, screen oturumundan ayrılmak için Ctrl+A tuşlarına basın, ardından D tuşuna basın.
Bu, SSH oturumunuzu kapatmadan screen oturumunu arka planda çalışır durumda bırakır.
Sunucuyu Durdurma ve Yeniden Başlatma
* screen oturumuna geri dönme:
Sunucu konsoluna geri dönmek için:
screen -r hexxit_server
Eğer birden fazla screen oturumunuz varsa, screen -ls ile listeyi görebilirsiniz ve ardından screen -r ile istediğiniz oturuma bağlanabilirsiniz.
* Sunucuyu durdurma:
Sunucu konsolundayken, güvenli bir şekilde kapatmak için:
stop
Bu komut, sunucunun tüm verileri kaydetmesini ve düzgün bir şekilde kapanmasını sağlar. Sunucunun tamamen kapanması biraz zaman alabilir.
* Sunucuyu yeniden başlatma:
Sunucuyu durdurduktan sonra, aynı screen oturumunda veya yeni bir screen oturumunda launcher-server.sh betiğini tekrar çalıştırarak yeniden başlatabilirsiniz.
Sunucu Konsoluna Erişme
screen -r hexxit_server komutu ile sunucu konsoluna eriştiğinizde, Minecraft komutlarını doğrudan yazabilirsiniz. Örneğin:
* op : Bir oyuncuya yönetici yetkileri verir.
* whitelist add : Bir oyuncuyu beyaz listeye ekler.
* say : Sunucudaki tüm oyunculara mesaj gönderir.
* save-all: Dünya verilerini manuel olarak kaydeder.
Güvenlik Duvarı Ayarları (UFW)
Sunucunuzun güvenliği için bir güvenlik duvarı kullanmak çok önemlidir. Ubuntu 14.04’te varsayılan güvenlik duvarı aracı UFW’dir (Uncomplicated Firewall).
minecraft kullanıcısındayken güvenlik duvarı ayarlarını yapmak için sudo yetkilerine ihtiyacınız olacak. Geçici olarak root veya sudo yetkili kullanıcıya geri dönün:
exit # minecraft kullanıcısından çıkış yapın
UFW Kurulumu ve Temel Kullanımı
UFW genellikle Ubuntu’da ön yüklü gelir, ancak kurulu değilse:
sudo apt-get install ufw -y
Varsayılan politikaları ayarlayarak başlayın. Genellikle gelen bağlantıları reddetmek ve giden bağlantılara izin vermek istersiniz:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Minecraft Portunu Açma
Minecraft sunucusu varsayılan olarak 25565 numaralı TCP portunu kullanır. Oyuncuların sunucunuza bağlanabilmesi için bu portu açmanız gerekir:
sudo ufw allow 25565/tcp
SSH Portunu Açma
SSH üzerinden sunucunuza erişmeye devam edebilmek için SSH portunu (varsayılan 22) açmanız gerekir:
sudo ufw allow ssh
veya
sudo ufw allow 22/tcp
UFW’yi Etkinleştirme
Tüm kuralları belirledikten sonra, UFW’yi etkinleştirebilirsiniz:
sudo ufw enable
Bir uyarı mesajı alabilirsiniz, y tuşuna basarak onaylayın.
UFW’nin durumunu kontrol etmek için:
sudo ufw status
Çıktıda açtığınız portları görmelisiniz. Şimdi tekrar minecraft kullanıcısına geçebilirsiniz:
sudo su - minecraft
Gelişmiş Yönetim ve Bakım
Sunucunuzu kurdunuz ve çalışıyor. Şimdi daha iyi bir deneyim ve veri güvenliği için bazı gelişmiş yönetim ve bakım konularına değinelim.
Otomatik Başlatma (init.d veya Cron)
Ubuntu 14.04, systemd yerine Upstart veya SysVinit kullanır. Bu nedenle, otomatik başlatma için bir init.d betiği veya basit bir cron işi kullanabiliriz. init.d betiği daha resmi bir çözümken, cron daha basit bir “çalışıyorsa çalış, yoksa başlat” yaklaşımı sunar.
init.d Betiği ile Otomatik Başlatma (Önerilen Yöntem):
Bu yöntem, sunucunuzun sistem açılışında otomatik olarak başlamasını ve sistem kapanışında düzgün bir şekilde kapanmasını sağlar.
minecraft kullanıcısından çıkıp root veya sudo yetkili kullanıcıya geçin.
1. Betik dosyasını oluşturun:
sudo nano /etc/init.d/minecraft-hexxit
2. Aşağıdaki içeriği yapıştırın:
#!/bin/sh
# /etc/init.d/minecraft-hexxit
# Minecraft Hexxit Server init.d script
### BEGIN INIT INFO
# Provides: minecraft-hexxit
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop Hexxit Minecraft server
# Description: Starts and stops the Hexxit Minecraft server.
### END INIT INFO
# User to run the server as
MC_USER="minecraft"
# Path to the Minecraft server directory
MC_DIR="/home/$MC_USER/hexxit-server" # Klasör adını doğru şekilde ayarlayın
# Path to the server start script
MC_START_SCRIPT="launcher-server.sh"
# Name of the screen session
SCREEN_SESSION="hexxit_server"
# Java memory settings (e.g., 6G for 6GB RAM)
# Ensure this matches your launcher-server.sh or is sufficient.
JAVA_MEM_ARGS="-Xmx6G -Xms2G"
# Path to Java executable
JAVA_BIN="/usr/bin/java" # Check with 'which java' if different
# Full command to start the server (if not using launcher-server.sh)
# If launcher-server.sh works, you can simplify the start command below.
# We will assume launcher-server.sh is robust enough.
DAEMON_STATUS=$(screen -ls | grep -c "$SCREEN_SESSION")
start() {
if [ "$DAEMON_STATUS" -eq 0 ]; then
echo "Starting Minecraft Hexxit server..."
cd "$MC_DIR"
su - "$MC_USER" -c "screen -dmS $SCREEN_SESSION bash -c './$MC_START_SCRIPT; exec bash'"
echo "Minecraft Hexxit server started in screen session: $SCREEN_SESSION"
else
echo "Minecraft Hexxit server is already running."
fi
}
stop() {
if [ "$DAEMON_STATUS" -gt 0 ]; then
echo "Stopping Minecraft Hexxit server..."
screen -p 0 -S "$SCREEN_SESSION" -X eval 'stuff "stop"\015'
# Give server time to save and shut down
sleep 30
if [ "$(screen -ls | grep -c "$SCREEN_SESSION")" -gt 0 ]; then
echo "Server did not stop gracefully, killing screen session..."
screen -S "$SCREEN_SESSION" -X quit
fi
echo "Minecraft Hexxit server stopped."
else
echo "Minecraft Hexxit server is not running."
fi
}
status() {
if [ "$DAEMON_STATUS" -gt 0 ]; then
echo "Minecraft Hexxit server is running."
else
echo "Minecraft Hexxit server is not running."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: /etc/init.d/minecraft-hexxit {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Önemli: MC_DIR değişkenini kendi Hexxit sunucu klasörünüzün yoluyla güncelleyin (örn. /home/minecraft/hexxit-server). Ayrıca JAVA_MEM_ARGS değerini sunucunuza ayırdığınız RAM miktarına göre ayarlayın.
3. Betiği çalıştırılabilir yapın:
sudo chmod +x /etc/init.d/minecraft-hexxit
4. Betiği sistem başlangıcına ekleyin:
sudo update-rc.d minecraft-hexxit defaults
Bu komut, betiğin farklı çalışma seviyelerinde (runlevels) otomatik olarak başlatılmasını ve durdurulmasını sağlar.
5. Sunucuyu manuel olarak başlatın/durdurun/yeniden başlatın:
sudo service minecraft-hexxit start
sudo service minecraft-hexxit stop
sudo service minecraft-hexxit restart
sudo service minecraft-hexxit status
Artık sunucunuz yeniden başlatıldığında Hexxit sunucunuz otomatik olarak başlayacaktır.
Sunucu Yedekleme Stratejileri
Düzenli yedeklemeler, olası veri kaybına karşı en iyi savunmadır.
* Manuel Yedekleme:
Sunucu çalışmıyorken veya save-all komutunu kullandıktan sonra, sunucu klasörünüzün bir kopyasını almak en basit yoldur.
# minecraft kullanıcısı olarak
cd /home/minecraft
tar -cvzf hexxit_yedek_$(date +%Y%m%d%H%M%S).tar.gz hexxit-server/
Bu komut, hexxit-server klasörünün sıkıştırılmış bir arşivini oluşturur ve dosya adına zaman damgası ekler. Bu yedeği daha sonra başka bir konuma (uzak depolama, bulut vb.) taşıyabilirsiniz.
* Otomatik Yedekleme (Cron ile):
cron kullanarak düzenli yedeklemeleri otomatikleştirebilirsiniz. minecraft kullanıcısının crontab‘ını düzenleyin:
crontab -e
Aşağıdaki satırı ekleyin (örneğin, her gece 03:00’te yedekleme yapmak için):
0 3 * /usr/bin/screen -p 0 -S hexxit_server -X eval 'stuff "save-all"\015' && sleep 10 && /bin/tar -cvzf /home/minecraft/backups/hexxit_yedek_$(date +\%Y\%m\%d\%H\%M\%S).tar.gz /home/minecraft/hexxit-server/ && /usr/bin/find /home/minecraft/backups -mtime +7 -delete
Bu komut:
1. Sunucuda save-all komutunu çalıştırır.
2. 10 saniye bekler.
3. hexxit-server klasörünü sıkıştırılmış bir arşive yedekler (önce /home/minecraft/backups klasörünü oluşturmanız gerekir).
4. 7 günden eski yedekleri siler.
Performans İzleme ve Optimizasyon
* RAM Kullanımı: top veya htop komutlarını kullanarak sunucunun RAM kullanımını izleyin. Java’nın ayrılan bellek limitine (Xmx) ulaşıp ulaşmadığını kontrol edin.
* CPU Kullanımı: top veya htop ile CPU kullanımını izleyin. Sürekli yüksek CPU kullanımı, sunucunun zorlandığını veya bir sorunun olduğunu gösterebilir.
* server.properties Ayarları: view-distance gibi ayarları düşürmek, sunucu performansını önemli ölçüde artırabilir. Modlu sunucularda genellikle 6-8 arası bir view-distance değeri önerilir.
* Modları Kontrol Edin: Bazı modlar diğerlerinden daha fazla kaynak tüketebilir. Performans sorunları yaşıyorsanız, hangi modların en çok kaynak kullandığını araştırabilirsiniz.
Sorun Giderme (Troubleshooting)
Bir Hexxit sunucusu kurarken veya çalıştırırken karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri.
Java Bellek Hataları (Out Of Memory)
* Belirti: Sunucu başlatılamıyor veya çalışırken çöküyor ve loglarda java.lang.OutOfMemoryError mesajı görünüyor.
* Çözüm: Bu, Java’ya yeterli bellek ayrılmadığı anlamına gelir. launcher-server.sh betiğinizdeki -Xmx değerini artırın. Sunucunuzda fiziksel olarak daha fazla RAM varsa, bu değeri artırabilirsiniz. Aksi takdirde, daha fazla RAM’e sahip bir VPS’ye yükseltmeniz gerekebilir.
Sunucu Başlatılamıyor
* Belirti: ./launcher-server.sh komutunu çalıştırdığınızda sunucu başlamıyor veya hemen kapanıyor.
* Çözüm:
* EULA: eula.txt dosyasını eula=true olarak ayarladığınızdan emin olun.
* Java Yolu/Sürümü: Java’nın doğru şekilde kurulduğundan ve PATH içinde olduğundan emin olun. java -version komutunu çalıştırarak kontrol edin. Hexxit için Java 7’nin kurulu olduğundan emin olun.
* Betiğin Çalıştırılabilirliği: launcher-server.sh betiğinin çalıştırılabilir olduğundan emin olun (chmod +x launcher-server.sh).
* Hata Mesajları: Konsoldaki veya logs klasöründeki hata mesajlarını dikkatlice okuyun. Genellikle sorunun ne olduğunu belirtirler.
Oyuncular Bağlanamıyor
* Belirti: Oyuncular “Can’t connect to server” veya “Connection refused” gibi hatalar alıyor.
* Çözüm:
* Güvenlik Duvarı (UFW): Minecraft portunun (varsayılan 25565) UFW’de açık olduğundan emin olun (sudo ufw status).
* Port Yönlendirme (Ev Sunucuları İçin): Eğer sunucunuzu ev ağınızda barındırıyorsanız, router’ınızda 25565 portunu sunucunuzun dahili IP adresine yönlendirdiğinizden (port forwarding) emin olun.
* server.properties: server-port ayarının doğru olduğundan ve online-mode ayarının oyuncuların beklentileriyle eşleştiğinden emin olun.
* IP Adresi: Oyuncuların sunucunuzun genel IP adresini veya alan adını kullandığından emin olun.
* Beyaz Liste: Eğer white-list=true ise, oyuncuların whitelist.json dosyasında olduğundan emin olun.
Mod Çakışmaları veya Hataları
* Belirti: Sunucu çöküyor, dünya yüklenmiyor veya oyun içinde garip davranışlar oluyor. Loglarda modlarla ilgili hatalar var.
* Çözüm: Hexxit zaten bir mod paketi olduğu için mod çakışmaları daha az olasıdır, ancak ekstra modlar eklerseniz ortaya çıkabilir.
* Logları Kontrol Edin: Log dosyaları (logs klasöründe) genellikle hangi modun sorun çıkardığını veya hangi öğenin çakıştığını gösterir.
* Modları Tek Tek Devre Dışı Bırakın: Sorunlu modları izole etmek için mods klasöründeki mod dosyalarını tek tek veya gruplar halinde kaldırarak sunucuyu yeniden başlatın.
Sonuç
Tebrikler! Bu rehberi takip ederek Ubuntu 14.04 işletim sistemi üzerinde kendi Hexxit Minecraft sunucunuzu başarıyla kurdunuz. Artık arkadaşlarınızla birlikte Hexxit’in sunduğu fantastik ve macera dolu dünyaları keşfetmeye hazırsınız. Unutmayın, sunucunuzun sorunsuz çalışmasını sağlamak için düzenli yedeklemeler yapmak, performansı izlemek ve güvenlik duvarı ayarlarınızı güncel tutmak önemlidir.
Herhangi bir sorunla karşılaşırsanız, sunucu loglarını kontrol etmek ve bu rehberdeki sorun giderme bölümüne başvurmak iyi bir başlangıç noktası olacaktır. Hexxit maceranızda bol şans ve keyifli oyunlar dileriz!