Minecraft adalah salah satu game paling populer sepanjang masa. Ini adalah permainan yang memungkinkan para pemainnya menjelajahi dunia tanpa batas dan membangun segalanya mulai dari rumah sederhana hingga gedung pencakar langit.
Tutorial ini mencakup instalasi dan konfigurasi Server Minecraft di CentOS 7. Kami juga akan membahas cara menggunakan Systemd untuk menjalankan server Minecraft dan utilitas mcrcon
untuk menghubungkan ke instance yang berjalan. Kami juga akan menunjukkan kepada Anda cara membuat cronjob yang melakukan backup server reguler.
Prasyarat
Pengguna yang Anda masuki harus memiliki hak sudo untuk dapat menginstal paket.
Instal paket yang diperlukan untuk membangun tool mcrcon
:
sudo yum install git sudo yum group install "Development Tools"
Install Java Runtime Environment
Minecraft membutuhkan Java 8 atau lebih tinggi. Karena Server Minecraft tidak memerlukan antarmuka grafis, kita akan menginstal versi JRE headless. Versi ini lebih cocok untuk aplikasi server karena memiliki lebih sedikit dependensi dan efisiensi dalam penggunaan sumber daya sistem.
Instal paket OpenJRE 8 headless dengan menjalankan:
sudo yum install java-1.8.0-openjdk-headless
Verifikasi pemasangan dengan print versi java:
java -version
openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Buat User Minecraft
Untuk tujuan keamanan, Minecraft tidak boleh dijalankan di oleh user root. Kita akan membuat user sistem baru dan grup dengan direktori home /opt/minecraft
yang akan menjalankan server Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Kita tidak akan menetapkan kata sandi untuk user minecraft. Ini adalah praktik keamanan yang baik karena user ini tidak akan dapat masuk melalui SSH. Untuk mengubah ke user minecraft Anda harus masuk ke server sebagai root atau pengguna dengan hak akses sudo.
Install Minecraft di Debian
Sebelum memulai dengan proses instalasi, pastikan Anda beralih ke userminecraft
.
sudo su - minecraft
Jalankan perintah berikut untuk membuat tiga direktori baru di dalam direktori home user:
mkdir -p ~/{backups,tools,server}
- Direktori
backups
akan menyimpan backup server minecraft nantinya. Anda nanti juga dapat menyinkronkan direktori ini ke server remote backup. - Direktori
tools
akan menyimpan klienmcrcon
dan skrip backup. - Direktori
server
akan berisi server game Minecraft dan datanya.
Download dan Compiling mcrcon
RCON adalah protokol yang memungkinkan Anda terhubung ke server Minecraft dan menjalankan perintah. mcron
adalah klien RCON yang dibangun dalam Bahasa pemrograman C.
Kita akan mengunduh source code dari GitHub dan membuat binary mcrcon
.
Mulailah dengan menavigasi ke direktori ~/tools
dan mengkloning repositori Tiiffi/mcrcon
dari GitHub menggunakan perintah berikut:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Ketika kloning selesai, beralihlah ke direktori repositori:
cd ~/tools/mcrcon
Mulai compile utilitas mcrcon
dengan mengetik:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Setelah selesai, Anda dapat mengujinya dengan mengetik:
./mcrcon -h
Outputnya akan terlihat seperti ini:
Usage: mcrcon [OPTIONS]... [COMMANDS]... Sends rcon commands to Minecraft server. Option: -h Print usage -H Server address -P Port (default is 25575) -p Rcon password -t Interactive terminal mode -s Silent mode (do not print received packets) -c Disable colors -r Output raw packets (debugging and custom handling) -v Output version information Server address, port and password can be set using following environment variables: MCRCON_HOST MCRCON_PORT MCRCON_PASS Command-line options will override environment variables. Rcon commands with arguments must be enclosed in quotes. Example: mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop mcrcon 0.6.1 (built: May 19 2019 23:39:16) Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Downloading Minecraft Server
Ada beberapa mod server Minecraft seperti Craftbukkit atau Spigot yang memungkinkan Anda untuk menambahkan fitur (plugins) di server dan lebih lanjut menyesuaikan dan mengubah pengaturan server. Dalam panduan ini, kami akan memasang server vanilla resmi Minecraft Mojang terbaru.
File arsip Java (JAR) server Minecraft terbaru adalah variabel untuk diunduh dari halaman unduhan Minecraft.
Pada saat penulisan, versi terbaru adalah 1.14.1
. Sebelum melanjutkan dengan langkah selanjutnya, Anda harus memeriksa halaman unduhan untuk versi baru.
Jalankan perintah wget
berikut untuk mengunduh file jar Minecraft di direktori ~/server
:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Konfigurasi Server Minecraft di CentOS
Setelah unduhan selesai, navigasikan ke direktori ~/server
dan mulai server Minecraft:
cd ~/serverjava -Xmx1024M -Xms512M -d64 -jar server.jar nogui
Ketika Anda memulai server untuk pertama kalinya dan membuat server.properties dan file eula.txt dan berhenti.
[23:41:44] [main/ERROR]: Failed to load properties from file: server.properties [23:41:45] [main/WARN]: Failed to load eula.txt [23:41:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Seperti yang Anda lihat dari output di atas, kita harus menyetujui EULA Minecraft untuk menjalankan server. Buka file eula.txt
dan ubah eula=false
menjadi eula=true
:
nano ~/server/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun May 19 23:41:45 PDT 2019 eula=true
Tutup dan simpan file.
Selanjutnya, kita perlu mengedit file server.properties
untuk mengaktifkan protokol rcon dan mengatur kata sandi rcon. Buka file menggunakan editor teks Anda:r:
nano ~/server/server.properties
Temukan baris berikut dan perbarui nilainya seperti yang ditunjukkan di bawah ini:
rcon.port=25575 rcon.password=ganti-dengan-password enable-rcon=true
Jangan lupa untuk mengubah ganti-dengan-password
menjadi sesuatu yang lebih aman. Jika tidak ingin terhubung ke server Minecraft dari lokasi jarak jauh, pastikan port rcon
diblokir oleh firewall Anda.
Membuat Unit File Systemd
Untuk menjalankan Minecraft sebagai service, kita akan membuat file unit Systemd baru.
Beralih kembali ke pengguna sudo Anda dengan mengetikkan exit
.
Buka editor teks Anda dan buat file bernama minecraft.service
di dalam direktori /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Kemudian Paste konfigurasi berikut:
[Unit] Description=Minecraft Server After=network.target [Service] User=minecraft Nice=1 KillMode=none SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/minecraft/server ExecStart=/usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop [Install] WantedBy=multi-user.target
Ubah flag Xmx
dan Xms
sesuai dengan sumber daya server Anda. flag Xmx
mendefinisikan kumpulan alokasi memori maksimum untuk mesin virtual Java (JVM), sementara Xms
mendefinisikan kumpulan alokasi memori awal. Pastikan juga Anda menggunakan port dan kata sandi rcon
yang benar.
Simpan dan tutup file dan reload konfigurasi systemd manager:
sudo systemctl daemon-reload
Sekarang Anda dapat memulai server Minecraft dengan menjalankan:
sudo systemctl start minecraft
Pertama kali Anda memulai layanan ini akan menghasilkan beberapa file konfigurasi dan direktori termasuk Minecraft world.
Periksa status layanan dengan perintah berikut:
sudo systemctl status minecraft
* minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-05-19 23:49:18 WIB; 9min ago Main PID: 11262 (java) Tasks: 19 (limit: 2319) CGroup: /system.slice/minecraft.service `-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
Terakhir, aktifkan layanan Minecraft secara otomatis dimulai saat boot:
sudo systemctl enable minecraft
Pengaturan Firewall di Minecraft
Jika server dilindungi oleh firewall dan Anda ingin mengakses server Minecraft dari luar jaringan lokal, Anda perlu membuka port 25565
.
Untuk mengizinkan lalu lintas di port standar Minecraft 25565
ketik perintah berikut:
sudo ufw allow 25565/tcp
Konfigurasi Backup
Di bagian ini, kami akan membuat skrip shell bckup dan cronjob untuk mencadangkan server Minecraft secara otomatis.
Mulai dengan beralih ke user minecraft
:
sudo su - minecraft
Buka editor teks Anda dan buat file berikut:
nano /opt/minecraft/tools/backup.sh
Paste konfigurasi berikut:
#!/bin/bash function rcon { /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1" } rcon "save-off" rcon "save-all" tar -cvpzf /opt/minecraft/backups/server-$(date +%F_%R).tar.gz /opt/minecraft/server rcon "save-on" ## Delete older backups find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
Simpan file dan buat file tersebut dapat dieksekusi:
chmod +x /opt/minecraft/tools/backup.sh
Selanjutnya, buat cron job yang akan berjalan sekali dalam sehari secara otomatis pada waktu yang tetap.
Buka file crontab dengan mengetik:
crontab -e
Untuk menjalankan skrip backup setiap hari pada pukul 23:00 paste baris berikut:
0 23 * * * /opt/minecraft/tools/backup.sh
Cara Mengakses Konsol Minecraft
Untuk mengakses Konsol Minecraft, Anda dapat menggunakan utilitas mcrcon
. Sintaksnya adalah sebagai berikut, Anda perlu menentukan host, port rcon, kata sandi rcon dan menggunakan switch -t
yang memungkinkan mode terminal mcrcon:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p password-anda -t
Logged in. Type "Q" to quit! >
Saat mengakses Konsol Minecraft dari lokasi yang jauh, pastikan port rcon
tidak diblokir.
Kesimpulan
Pada tutorial ini, Anda telah belajar cara menginstal server Minecraft di sistem CentOS 7 dan mengatur backup secara harian.