Cara Setup Velocity: Bangun Network Minecraft yang Simpel dan Aman
Panduan lengkap setup Velocity proxy untuk network Minecraft: instalasi, konfigurasi velocity.toml, modern forwarding ke Paper, sampai firewall supaya backend tidak bisa dibobol pemain nakal.
On this page
Kalau server kamu mulai ramai, cepat atau lambat kamu bakal kepikiran hal yang sama seperti semua pemilik server lain: "Gimana caranya punya lobby, survival, dan minigames sekaligus, tapi pemain cukup connect ke satu alamat?" Jawabannya adalah proxy, dan di tahun 2026 pilihan terbaiknya adalah Velocity.
Panduan ini membahas setup Velocity dari nol sampai jadi network yang benar-benar aman. Bagian keamanannya jangan dilewatkan, karena network yang salah konfigurasi bisa membuat siapa pun masuk ke server kamu dengan akun admin orang lain.
Apa itu Velocity, dan kenapa bukan BungeeCord
Velocity adalah proxy Minecraft dari tim PaperMC. Proxy berdiri di depan beberapa server Minecraft (disebut backend), menerima semua koneksi pemain, lalu meneruskannya ke backend yang tepat. Pemain cukup tahu satu alamat, misalnya play.servermu.example, dan bisa berpindah antar server tanpa keluar dari game.
Dibanding BungeeCord yang lebih tua, Velocity unggul di tiga hal:
- Performa. Velocity sangat ringan. Untuk network kecil, 512 MB sampai 1 GB RAM sudah lebih dari cukup.
- Keamanan. Modern forwarding milik Velocity mengirim data pemain ke backend dengan verifikasi rahasia (secret), sesuatu yang tidak dimiliki BungeeCord bawaan.
- Aktif dikembangkan. Velocity dirawat oleh tim yang sama dengan Paper, jadi selalu cepat mendukung versi Minecraft baru.
Kapan kamu butuh proxy? Kalau kamu hanya menjalankan satu server survival, kamu belum butuh. Velocity baru masuk akal saat kamu ingin dua server atau lebih yang terasa seperti satu network.
Persiapan sebelum mulai
Siapkan dulu hal-hal berikut:
- VPS atau hosting dengan akses terminal (SSH). Network sederhana dengan lobby dan survival nyaman berjalan di VPS 4 GB RAM.
- Java 21. Velocity versi terbaru membutuhkan minimal Java 21. Cek dengan
java -version. - Server backend berbasis Paper versi 1.13 ke atas. Modern forwarding tidak mendukung versi di bawah 1.13. Kalau masih pakai Spigot, pindah dulu ke Paper, prosesnya cuma ganti file jar.
- Rencana port. Tentukan dari awal port mana untuk apa supaya konfigurasi tidak kusut.
Contoh rencana port yang dipakai di sepanjang panduan ini:
| Server | Alamat bind | Port | Terbuka untuk publik? |
|---|---|---|---|
| Velocity (proxy) | 0.0.0.0 | 25565 | Ya |
| Lobby (Paper) | 127.0.0.1 | 30066 | Tidak |
| Survival (Paper) | 127.0.0.1 | 30067 | Tidak |
Perhatikan polanya: hanya proxy yang boleh diakses dari internet. Semua backend bersembunyi di belakangnya.
Langkah 1: Download dan jalankan Velocity
Buat folder terpisah untuk proxy, lalu download jar Velocity terbaru dari halaman download PaperMC. Klik kanan tombol download untuk menyalin link-nya, lalu pakai wget di VPS:
mkdir velocity
cd velocity
# tempel link download yang kamu salin dari papermc.io/downloads/velocity
wget -O velocity.jar "TEMPEL_LINK_DOWNLOAD_DI_SINI"Jalankan untuk pertama kali:
java -Xms512M -Xmx512M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity.jarRun pertama ini menghasilkan dua file penting:
velocity.toml, file konfigurasi utama.forwarding.secret, kunci rahasia untuk modern forwarding. Jangan pernah membagikan isinya.
Velocity langsung listen di port 25565, port default Minecraft, jadi pemain nanti tidak perlu mengetik port sama sekali. Ketik shutdown di console untuk mematikannya, lalu lanjut ke konfigurasi.
Langkah 2: Konfigurasi velocity.toml
Buka velocity.toml dengan editor favorit kamu. Tidak semua opsi perlu disentuh; fokus ke bagian-bagian ini:
# Alamat dan port yang didengarkan proxy. Biarkan default.
bind = "0.0.0.0:25565"
# MOTD yang tampil di server list, mendukung format MiniMessage.
motd = "<green>NetworkMu</green> <gray>| Lobby, Survival, dan banyak lagi</gray>"
# Jumlah pemain maksimal yang DITAMPILKAN di server list.
show-max-players = 500
# Biarkan true. Proxy yang memverifikasi akun pemain ke Mojang.
online-mode = true
# Wajib "modern" untuk Paper 1.13+. Ini mode paling aman.
player-info-forwarding-mode = "modern"
# File berisi secret untuk modern forwarding.
forwarding-secret-file = "forwarding.secret"
[servers]
# Daftar server backend: nama = "alamat:port"
lobby = "127.0.0.1:30066"
survival = "127.0.0.1:30067"
# Urutan server yang dicoba saat pemain pertama join atau ter-kick.
try = ["lobby"]Beberapa catatan penting:
online-mode = truedi proxy artinya hanya akun Minecraft asli yang bisa masuk. Verifikasi terjadi sekali di proxy, backend tinggal percaya hasilnya.player-info-forwarding-mode = "modern"membuat Velocity meneruskan UUID, skin, dan IP asli pemain ke backend secara terenkripsi. Tanpa ini, semua pemain di backend akan terlihat sebagai pemain offline dengan skin Steve.- Di
[servers], alamat127.0.0.1berarti backend berjalan di mesin yang sama dengan proxy. Kalau backend ada di VPS lain, isi dengan IP privat mesin tersebut.
Langkah 3: Hubungkan server Paper ke proxy
Sekarang giliran tiap server backend. Ulangi tiga perubahan ini di setiap server Paper (lobby, survival, dan seterusnya).
server.properties
# Proxy yang mengurus autentikasi, backend wajib offline mode.
online-mode=false
# Samakan dengan rencana port. Untuk lobby:
server-port=30066
# Bind ke localhost supaya tidak bisa diakses langsung dari internet.
# Lewati baris ini kalau backend berada di mesin yang berbeda dengan proxy.
server-ip=127.0.0.1spigot.yml
Pastikan mode BungeeCord mati, karena kita memakai modern forwarding, bukan legacy:
settings:
bungeecord: falseconfig/paper-global.yml
Ini bagian yang paling sering terlewat. Buka config/paper-global.yml (dibuat otomatis setelah server pertama kali jalan), cari bagian proxies, lalu isi seperti ini:
proxies:
velocity:
enabled: true
online-mode: true
secret: "tempel-isi-file-forwarding.secret-di-sini"Salin isi file forwarding.secret dari folder Velocity ke kolom secret. Nilai online-mode di sini disamakan dengan setting online-mode di velocity.toml.
Catatan: Untuk Paper 1.18.2 ke bawah, setting ini ada di
paper.ymldengan namasettings.velocity-support.enabled,settings.velocity-support.online-mode, dansettings.velocity-support.secret.
Restart semua backend setelah ketiga file diubah.
Langkah 4: Uji network kamu
Nyalakan semuanya: backend dulu, lalu proxy. Buka Minecraft dan connect ke IP VPS kamu (port 25565 tidak perlu ditulis).
Checklist pengujian:
- Masuk ke lobby. Kalau kamu langsung mendarat di lobby, setting
trybekerja. - Pindah server. Jalankan
/server survival. Kamu harus berpindah tanpa keluar dari game. - Cek skin dan UUID. Skin kamu harus tampil normal di backend. Kalau semua orang jadi Steve, modern forwarding belum jalan (lihat bagian masalah umum).
Langkah 5: Amankan network kamu
Bagian ini yang membedakan network yang sehat dari network yang menunggu dibobol.
Kenapa backend wajib ditutup
Backend kamu sekarang berjalan dengan online-mode=false. Artinya, kalau seseorang bisa connect langsung ke port backend (misalnya ip-vps:30067), dia bisa masuk dengan username siapa pun, termasuk username owner, tanpa password. Modern forwarding menolak koneksi yang tidak membawa secret yang benar, tapi jangan bergantung pada satu lapis pertahanan saja. Dokumentasi resmi Velocity pun menegaskan bahwa forwarding bukan pengganti firewall.
Kalau semua di satu VPS: bind ke localhost
Cara termudah sudah kita lakukan di Langkah 3: server-ip=127.0.0.1 di setiap backend. Dengan bind ke localhost, port backend sama sekali tidak terlihat dari internet. Selesai.
Kalau backend di mesin terpisah: pakai firewall
Backend di mesin lain tidak bisa bind ke localhost, karena proxy perlu menjangkaunya lewat jaringan. Di sini firewall wajib hadir. Contoh dengan UFW di Ubuntu, dijalankan di mesin backend:
# PENTING: izinkan SSH dulu supaya tidak terkunci dari VPS sendiri
sudo ufw allow OpenSSH
# izinkan koneksi ke port backend HANYA dari IP proxy
sudo ufw allow from IP_PROXY_KAMU to any port 30066 proto tcp
# tolak semua koneksi masuk lain secara default
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enableDengan aturan ini, satu-satunya pihak yang bisa menyentuh port backend adalah proxy kamu.
Jaga forwarding.secret
- Jangan commit
forwarding.secretke GitHub. - Jangan kirim isinya ke siapa pun, termasuk "jasa setup" yang tidak kamu kenal.
- Kalau bocor, ganti: hapus filenya, restart Velocity untuk membuat yang baru, lalu perbarui
secretdi semua backend.
Masalah umum dan solusinya
"This server requires you to connect with Velocity."
Backend menolak karena koneksi tidak membawa secret yang benar. Biasanya karena pemain mencoba connect langsung ke port backend, atau secret di paper-global.yml tidak sama persis dengan isi forwarding.secret.
Semua pemain berskin Steve dan tidak bisa pakai item yang sudah dibeli.
Modern forwarding belum aktif. Cek tiga hal: player-info-forwarding-mode = "modern" di velocity.toml, proxies.velocity.enabled: true di paper-global.yml, dan secret yang sama persis di kedua sisi.
"If you wish to use IP forwarding, please enable it in your BungeeCord config as well!"
Pesan ini muncul kalau settings.bungeecord di spigot.yml masih true padahal kamu memakai modern forwarding. Set ke false lalu restart.
Pemain tidak bisa connect sama sekali.
Cek apakah port 25565 terbuka di firewall VPS proxy (sudo ufw allow 25565/tcp), dan pastikan kamu connect ke IP proxy, bukan IP backend.
Velocity tidak mau start, error soal versi Java.
Velocity terbaru butuh Java 21. Cek versi dengan java -version dan upgrade kalau masih di bawah 21.
Langkah selanjutnya
Network kamu sudah berdiri dan aman. Beberapa ide untuk melangkah lebih jauh:
- Pasang plugin proxy. Velocity punya ekosistem pluginnya sendiri. Mulai dari LuckPerms untuk permission lintas server, plugin anti-bot, dan plugin pesan lintas server.
- Pakai domain. Arahkan A record
play.servermu.exampleke IP proxy supaya alamat server gampang diingat. - Daftarkan network kamu di MSID. Setelah semuanya stabil, daftarkan server kamu supaya pemain Indonesia bisa menemukannya di daftar server Minecraft Indonesia, lengkap dengan sistem vote dan statistik pemain.
Selamat membangun network!