BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah...
Transcript of BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah...
72
BAB 4
IMPLEMENTASI DAN EVALUASI
Bab ini akan membahas secara lebih rinci mengenai langkah-langkah
implementasi yang dilakukan terhadap rancangan server ini. Setelah proses
implementasi selesai, dilakukan evaluasi secara keseluruhan terhadap hasil konfigurasi
yang telah diimplementasikan. Adapun evaluasi yang dilakukan meliputi reliabilitas,
kapasitas, dan kualitas server.
4.1 Implementasi
4.1.1 Konfigurasi eAthena
Install program eAthena di komputer server. Setelah itu lakukan beberapa
konfigurasi seperti yang disebutkan di bawah ini pada eAthena agar proses
koneksi antara server dengan client dapat berhasil dilakukan :
- Pertama, cari tahu terlebih dulu IP komputer yang akan dijadikan server
dan WAN IPnya (Public IP). WAN IP inilah yang akan dipakai Client
untuk login ke server.
Untuk mencari tahu IP komputer dapat dilakukan dengan cara sebagai
berikut :
[START] RUN ketik : cmd /k ipconfig
Lalu akan muncul windows yang isinya kurang lebih seperti di bawah ini:
73
Windows IP Configuration
Ethernet adapter Local Area Connection 3:
Connection-specific DNS Suffix :
IP Address . . . . . . . . . . : xxx.xxx.xxx.xxx ini IP LAN / komputer kita
Subnet Mask . . . . . . . . : xxx.xxx.xxx.xxx ini Subnet mask komputer kita
Default Gateway . . . . . : xxx.xxx.xxx.xxx ini pintu modem kita
Sedangkan untuk mengecek WAN IP, dapat dilakukan dengan cara
mengakses situs http://whatsmyip.net/.
Gambar 4.1 WAN IP Check
Angka yang muncul pada website itu adalah WAN IP (Pada umumnya,
WAN IP akan sama dengan IP address komputer kita).
74
- Langkah berikutnya, masuk ke folder eAthena conf, dan cari
char_athena.conf (buka dengan notepad), lalu edit bagian-bagian di
bawah ini.
// Athena Character configuration file.
// Server Communication username and password
userid: s1 Ubah sesuai dengan yang diinginkan
passwd: p1 Ubah sesuai dengan yang diinginkan (dua data ini nanti akan dipakai di
settingan SQL)
// Server Name
server_name: Isi dengan nama server yang diinginkan (tidak boleh spasi)
// Login Server IP
// IP address yang akan digunakan oleh Character Server untuk
// connect ke Login Server.
login_ip: isi dengan IP Komputer (misal. 123.132.213.231)
// Character Server IP
// IP address yang akan digunakan oleh client untuk connect ke
// server.
char_ip: isi dengan WAN IP (misal. 123.132.213.231)
- Masih di folder yang sama, buka map_eathena.conf, lalu edit bagian-
bagian di bawah ini.
75
// Interserver communication password s
userid: s1 samakan dengan yg di char_athena.conf tadi
passwd: p1 samakan dengan yg di char_athena.conf tadi
// Character Server IP
char_ip: samakan dengan yg di char_athena.conf tadi
// Map Server IP
// IP address yang akan digunakan oleh client untuk connect ke
// server.
map_ip: isi dengan WAN IP (misal. 123.132.213.231)
- Kemudian ubah Subnet setting pada eAthena. Cari file yang bernama
subnet_athena.conf di folder conf.
Defaultnya adalah : 255.0.0.0:127.0.0.1:127.0.0.1
Dengan format Subnet Mask : IP : IP, oleh karena itu gantilah dengan :
Subnet Mask hasil cek ipconfig tadi : IP Komputer :IP Komputer.
- Setelah itu, buka file yang bernama grf-file.t xt (masih di folder yang
sama). Lalu masukkan path lokasi GRF file yang berada di folder
Ragnarok Online. Contoh :
76
//-----------------------------------------
// GRF List
//-----------------------------------------
// grf: <data file path>
D:\Private Server\Ragnarok Online\data.grf
D:\Private Server\Ragnarok Online\sdata.grf
- Cek konfigurasi port dari char_port, login_port, dan map_port yang ada
pada char_athena.conf, login_athena.conf, dan map_athena.conf dan ubah
menjadi seperti di bawah ini (port default yang digunakan oleh Ragnarok
Online).
// Login Server Port
login_port: 6900
// Character Server Port
char_port: 6121
// Map Server Port
map_port: 5121
- Proses konfigurasi eAthena selesai.
77
4.1.2 Konfigurasi MySQL
Setelah selesai meng-install MySQL di komputer server, diperlukan
beberapa langkah konfigurasi agar MySQL dapat mulai menampung database
private server ini. Berikut ini adalah langkah-langkah yang perlu dilakukan :
- Jalankan MySQL Administrator, maka akan muncul kotak login seperti
di bawah ini.
Gambar 4.2 MySQL Administrator Login
- Masukkan password untuk root sesuai dengan yang diisi ketika
menginstall MySQL sebelumnya untuk login sebagai admin. Pilih user
administration dan klik kanan bagian root lalu pilih add new user.
78
Gambar 4.3 Add New User (MySQL)
- Masukkan data untuk user yang nantinya dapat digunakan sebagai
alternatif user untuk mengatur database private server ini. Setelah itu klik
apply changes.
Gambar 4.4 Input User Data (MySQL)
79
- Setelah itu pilih schema privileges. Pindahkan semua available privileges
ke kiri (berikan semua hak akses bagi user ini).
Gambar 4.5 Privilages Schema (MySQL)
- Setelah selesai, jalankan MySQL Query Browser, maka akan muncul
kotak login seperti di bawah ini. Isi default schema dengan nama apa saja
yang nantinya akan digunakan sebagai penampung tabel-tabel database
Ragnarok Online. Sebagai contoh, ”ragnarok”.
80
Gambar 4.6 MySQL Query Browser Login
- Akan ada konfirmasi untuk membuat new schema, pilih ok, lalu akan
muncul tampilan seperti di bawah ini.
Gambar 4.7 New Schema (MySQL Query Browser)
81
- Langkah selanjutnya adalah pembuatan tabel-tabel yang akan digunakan
untuk menampung data yang akan digunakan oleh private server ini,
seperti data pemain, data inventory, data map, dan sebagainya, sehingga
nantinya perubahan apapun yang terjadi akan ditampung oleh tabel
tersebut. Pembuatan tabel dapat dilakukan manual dengan menggunakan
command SQL yaitu “Create Table” sesuai petunjuk yang ada atau
dengan meng-execute script yang telah disediakan oleh pihak developer
eAthena ini.
- Pilih schema ”ragnarok” yang ada di kanan layar (diklik 1 kali hingga ter-
highlight), lalu pilih File Open Script. Lalu browse folder instalasi
eAthena SQL-files, lalu open main.sql. Setelah itu klik tombol execute
di kanan atas.
Gambar 4.8 MySQL Script 1
82
- Langkah selanjutnya adalah membuat log database yang akan mencatat
semua kegiatan server nantinya. Klik kanan di bagian kosong di kotak
schemata lalu pilih create new schema. Beri nama apa saja (sebagai
contoh, ”log”). Lalu lakukan hal yang sama seperti menjalankan script
main.SQL. Pilih File Open Script, lalu browse folder instalasi eAthena
SQL-files, lalu open logs.sql. Setelah itu klik tombol execute di atas
seperti yang terlihat di bawah ini.
Gambar 4.9 MySQL Script 2
- Setelah selesai, buka schema ”ragnarok”, lalu scroll ke bawah, cari
database yang menampung informasi login user. Pastikan account ID
pertama memiliki account_id = 1, userid = xxx (harus sama dengan yang
diisi di userid di char_athena.conf), user_pass = xxx (harus sama dengan
yang diisi di passwd di char_athena.conf). Account ID pertama ini adalah
83
ID virtual bagi server yang akan digunakan untuk berbagai macam hal,
salah satunya adalah mengetes koneksi ke server itu sendiri.
Gambar 4.10 MySQL Query Browser Interface
- Proses konfigurasi MySQL selesai.
4.1.3 Konfigurasi File Client
Setelah melakukan semua hal di atas, perlu juga dilakukan beberapa
konfigurasi bagi client agar client dapat terhubung dengan server. Client yang
digunakan dapat berupa client Ragnarok Online apa saja, akan tetapi disarankan
menggunakan client KRO (Korean Ragnarok Online). Setelah selesai meng-
install client Ragnarok Online tersebut, diperlukan 1 file tambahan bagi pemain
agar pemain dapat terhubung ke server. File ini adalah sclientinfo.xml (file
konfigurasi client yang fungsi utamanya adalah me-redirect koneksi client ke IP
yang tertera di sana / IP server).
84
Berikut ini adalah langkah-langkah yang dilakukan untuk membuat
sclientinfo.xml :
- Buka text editor (notepad atau semacamnya), lalu ketik beberapa tag xml
seperti di bawah ini. Lalu save dengan nama sclientinfo.xml.
<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
<servicetype>korea</servicetype>
<servertype>sakray</servertype>
<connection>
<display>Isi dengan nama server yang diinginkan</display>
<desc>None</desc>
<address>Isi dengan WAN IP</address>
<port>6900</port>
<version>20</version>
<langtype>8</langtype>
<registrationweb></registrationweb>
<aid>
<admin>Isi dengan ID Game Master (GM)</admin>
</aid>
</connection>
</clientinfo>
- Letakkan file tersebut di dalam folder Data yang terletak di folder
instalasi Ragnarok Online sebelumnya (Contoh : E:\Gravity\Ragnarok
85
Online\Data). Jika folder tersebut belum ada, buat dengan mengklik
kanan di tempat kosong, dan pilih new folder.
- Proses pembuatan sclientinfo.xml selesai.
Selain itu, dibutuhkan juga file aplikasi client yang sudah di-modify
(hexed) sedemikian rupa agar client dapat connect ke server. File ini biasa
disebut dengan “Hexed Client”. File ini bisa dibuat sendiri atau didapatkan dari
internet (yang sebelumnya telah dibuat oleh pihak developer eAthena itu sendiri
atau pemilik Private Server lainnya). Untuk membuat “Hexed Client”, file-file
yang diperlukan adalah file Diff (Patch), Sakexe.exe yang sesuai dengan Diff
yang akan dipakai, dan Diff Patchernya (dalam hal ini ada 2 yang ”terkenal” dan
direkomendasikan oleh pihak developer eAthena untuk dipakai, yaitu Maldiablo
Diff Patcher dan k3dt Diff Patcher). File-file tersebut bisa didapat dari internet
dengan mencari di search engine seperti Google / Yahoo.
Berikut adalah langkah-langkah yang dilakukan untuk membuat “Hexed
Client” :
- Ekstrak semua file yang diperlukan ke dalam 1 folder untuk
mempermudah proses berikutnya seperti yang terlihat di bawah ini.
86
Gambar 4.11 Diff Patcher 1
- Klik Diff Patcher untuk memulai proses ”patch”. Dalam hal ini, Diff
Patcher yang digunakan adalah Maldiablo Diff Patcher. Masukkan path
dari Diff file yang akan digunakan ke dalam box yang tersedia dan path
dari Sakexe.exe yang akan digunakan. Penting untuk diingat bahwa
Sakexe.exe yang digunakan harus sesuai dengan Diff file yang akan
digunakan (jika Diff file yang digunakan adalah Diff file revisi 28-05-
2008, maka Sakexe.exe yang digunakan juga harus revisi 28-05-2008).
87
Gambar 4.12 Diff Patcher 2
- Setelah itu akan muncul window seperti di bawah ini.
Gambar 4.13 Diff Patcher Option 1
88
- Yang berada di sebelah kiri adalah patch-patch yang tersedia dari Diff file
yang digunakan, sedangkan yang berada di sebelah kanan adalah patch-
patch yang sudah dipilih. Beberapa hal yang perlu diperhatikan adalah di
tiap patch yang tersedia terkadang ada nomor yang tertera di sebelahnya.
Hal ini menunjukkan bahwa patch tersebut merupakan bagian dari salah
satu grub, sehingga hanya dapat dipilih salah satu saja. (misal : [5] xxx
dan [5] yyy, jika [5] xxx sudah dipilih, maka [5] yyy tidak boleh dipilih
lagi, hal ini dapat menyebabkan crash / bug yang tidak diinginkan).
Kebanyakan patch tersebut sudah self-explainatory, akan tetapi jika
membutuhkan penjelasan lebih lanjut dapat dilihat pada file petunjuk
yang tersedia.
- Untuk patch apa saja yang perlu di-apply, semuanya terserah kepada kita,
akan tetapi, ada beberapa patch yang penting dan direkomendasikan
untuk digunakan. Berikut ini adalah beberapa patch yang penting :
- Enable DNS Support dan Enable Proxy Support :
Jika server memiliki IP dynamic, dan menggunakan DNS
Hosting sebagai alamat yang akan dituju oleh client untuk connect
ke server, maka DNS Support harus di-enable, begitu pula jika
client menggunakan Proxy untuk connect ke server, Proxy
Support harus di-enable.
- Ignore Missing File Errors dan Ignore Missing Pallete Errors :
Patch ini disarankan untuk client pemain, karena jika
program Ragnarok Online menemukan file / pallete yang hilang,
89
maka Ragnarok Online akan menampilkan peringatan error dan
mengembalikan user ke desktop yang akan mengganggu bagi
kebanyakan pemain, khususnya yang menggunakan option Full
Screen. Patch ini akan meng-ignore peringatan error tersebut.
Akan tetapi, Patch ini tidak disarankan untuk di-apply bagi client
admin / GM selaku developer dari private server tersebut. Karena
untuk melakukan debug pada Ragnarok Online itu sendiri
dibutuhkan pencarian akan error-error yang ada, yang akan di-
ignore oleh patch ini sehingga menyulitkan proses debug tersebut.
- Setelah selesai memilih patch-patch yang ingin di-apply, klik ”Write the
Patch”.
Gambar 4.14 Diff Patcher Option 2
90
- ”Hexed Client” inilah yang nantinya akan digunakan oleh pemain untuk
masuk ke aplikasi Ragnarok Online yang kemudian akan di-redirect ke
server yang dibuat karena file sclientinfo.xml tadi.
- Proses pembuatan “Hexed Client” selesai.
4.1.4 Running Server
Setelah semua proses di atas selesai, maka server pun sudah siap untuk
dijalankan. Langkah untuk menjalankan server adalah dengan menjalankan file-
file berikut yang ada di folder instalasi eAthena : login-server_sql.exe, char-
server_sql.exe, dan map-server_sql.exe atau juga dengan menjalankan
runserver.bat (batch file yang akan menjalankan ketiga file tersebut secara
bersamaan).
4.1.5 Pembuatan Forum
Setelah proses pembuatan server selesai, langkah selanjutnya yang
dilakukan adalah membuat forum. Untuk sebuah private server Ragnarok Online,
adanya forum merupakan salah satu requirement yang cukup penting karena
berguna untuk membantu penyebaran informasi dan komunikasi antara GM
dengan para pemain. Berikut adalah penjelasan singkat langkah-langkah
pembuatan forum yang dilakukan :
- Install XAMPP.
- Aktifkan module Apache dan MySQL di XAMPP.
- Copy script MyBB (upload) ke ht docs di XAMPP.
91
- Jalankan dengan web browser (seperti Internet Explorer) :
http://localhost/upload/install.
- Pilih Install New MyBB, license agreement, kemudian requirement
check.
- Ikuti prosedur yang ada seperti gambar.
Gambar 4.15 MyBB Configuration
Keterangan :
1. Database Engine :
Isi dengan MySQL Improved.
2. Database Server Hostname :
Apa yang diisi di sini akan menjadi nama host untuk server forum
nanti.
92
3. Database Username, Password, dan Name :
Isi disesuaikan dengan username, password, dan nama database
yang ada di MySQL.
4. Table Prefix dan Encoding :
Table Prefix akan menambahkan awalan untuk setiap tabel dalam
database nantinya sesuai dengan yang kita inginkan, sementara
tabel Encoding adalah Metode Encoding text dalam tabel
(standarnya adalah : UTF-8 Unicode).
- Jika proses diatas berhasil, maka akan dialihkan ke halaman yang
menuliskan bahwa proses konfigurasi berhasil, selanjutnya klik ”next”.
Gambar 4.16 MyBB Config Success
93
- Secara otomatis data, theme, dan template dari database akan di-import
ke dalam MyBB.
- Berikutnya adalah Board Configuration, yang merupakan tempat
mengatur nama dan URL forum, website, email, dan cookie setting.
- Lalu Create Admin Account, data yang diisi di sini akan diperlukan untuk
mengakses ID admin nantinya.
- Installasi MyBB selesai, account untuk admin telah di create, selanjutnya
tinggal melakukan penyettingan lewat control panel admin, dan forum
siap digunakan.
- Lakukan hosting ke web server host di internet (link untuk forum yang
telah dibuat adalah www.ragnarokz-ro.tk).
4.2 Evaluasi
4.2.1 Penggunaan DNS Hosting
Karena server menggunakan jasa provider yang IPnya bersifat dynamic,
akibatnya sangatlah tidak mungkin untuk menspesifikasikan IP tertentu di
sclientinfo.xml (file yang sebelumnya telah dijelaskan di atas sebagai file yang
mengarahkan koneksi client ke IP server yang disebutkan di dalamnya). Setiap
kali server direstart / modem dimatikan, para pemain akan terus mencoba untuk
connect ke IP yang “tidak ada”, dengan kata lain gagal terkoneksi (IP server
telah berubah). Dengan bantuan DNS Hosting, koneksi dari setiap client akan
diarahkan ke IP dari DNS yang dibuat tersebut. Jadi, cukup dengan
menspesifikasikan nama DNS di dalam sclientinfo.xml dan dengan bantuan
program client tambahan untuk terus meng-update IP dari server ke DNS yang
94
dispesifikasi di dalam sclientinfo.xml tersebut, para pemain tidak akan
mengalami masalah untuk connect ke server yang memiliki IP dynamic (dengan
bantuan patch hexed-client : ”Enable DNS Support”).
4.2.2 Kalkulasi Bandwidth
Untuk melakukan kalkulasi akan perbandingan bandwidth yang tersedia
dengan kapasitas tampungan pemain pada server, pertama-tama perlu dicari data
tentang pemakaian bandwidth yang terjadi di server ini. Untuk itu, digunakanlah
aplikasi Traffic Shaper XP untuk memonitoring data pemakaian bandwidth dari
tiap pemain. Dalam hal ini, dicoba dilakukan pengamatan ketika jumlah pemain
yang online adalah sebanyak 4 orang.
Gambar 4.17 Login Server Screen 1
95
Gambar 4.18 Traffic Shaper XP Screen 1
Dari hasil pengamatan di atas, didapatkan bahwa ternyata tiap pemain
memakan bandwidth sekitar 10-2500 Bps tergantung dari tingkat intensitas layar
pemain saat itu. Kemudian dilakukan pengamatan lebih lanjut ketika jumlah
pemain yang online lebih banyak (33 pemain), seperti yang ditunjukkan oleh
gambar di bawah ini.
Gambar 4.19 Login Server Screen 2
96
Gambar 4.20 Traffic Shaper XP Screen 2
Ternyata, dari hasil pengamatan di atas, terdapat pemain yang memakan
bandwidth berlebih (melebihi 4000 Bps). Hal ini dapat disebabkan oleh tingkat
intensitas layar pemain tersebut sedang tinggi pada saat itu dan dapat
mengakibatkan bandwidth yang tersedia bagi client lain menjadi terbatas,
sehingga terjadilah apa yang disebut dengan lag / delay pada client lain,
sedangkan client itu sendiri tidak akan mengalami lag karena koneksi dari server
sebagian besar dimakan olehnya.
Jadi, dari hasil pengamatan di atas, didapatkan perincian status
pemakaian bandwidth oleh tiap client, yaitu sebagai berikut :
- Idle : antara 10 - 300 Bps tergantung jumlah objek dan efek-efek yang
terjadi di layar pemain saat itu.
- Average : antara 300 – 1000 Bps tergantung jumlah objek dan efek-efek
yang terjadi di layar pemain saat itu.
97
- Peak : mencapai 2500 Bps, bahkan lebih.
Sedangkan beberapa faktor yang menentukan tingkat intensitas layar
tersebut adalah (diasumsikan option effect in-game on) :
- Jumlah effect yang terjadi di layar monitor pemain pada saat itu.
- Jumlah object (pemain, monster, item, NPC) yang ada di layar.
- Pergerakan dari object-object tersebut (paket data yang dikirim oleh
server menjadi lebih berat).
Selain hal-hal yang disebutkan di atas, tingkat pemakaian bandwidth
yang terpakai juga dipengaruhi oleh hal-hal lain seperti ketika komputer server
sedang idle, maka seluruh bandwidth yang ada akan disediakan bagi para
pemain, akan tetapi jika server sedang melakukan kegiatan yang memakan
bandwidth (seperti browsing), maka akan terjadi tarik menarik bandwidth antara
server dan para pemain yang akibatnya bisa saja ½ dari total bandwidth ditarik
oleh server untuk melakukan browsing dan ½ sisanya untuk para pemain, atau
bahkan ¾ dari total bandwidth ditarik oleh server dan ¼ sisanya untuk para
pemain. Dengan kata lain, bandwidth yang tersedia bagi para pemain tidak stabil.
Karena salah satu kelebihan program Traffic Shaper XP ini adalah dapat
membuat ”rule” mengenai penggunaan bandwidth, maka sebelum melakukan
kalkulasi dibuatlah sebuah rule agar pembagian penggunaan bandwidth antara
server dengan para pemain menjadi lebih merata sehingga hasil kalkulasi nanti
akan menjadi lebih akurat. Karena kapasitas bandwidth yang disediakan oleh
server adalah 768 Kbps download dan 128 Kbps upload, maka rule yang dibuat
98
adalah pembatasan penggunaan kapasitas bandwidth bagi server sebesar ¼ dari
total bandwidth (128 Kbps download dan 32 Kbps upload), sehingga apapun
yang terjadi, paling tidak akan selalu tersedia ¾ dari total bandwidth bagi para
pemain (640 Kbps download dan 96 Kbps upload).
Gambar 4.21 Traffic Shaper XP Rule Wizard 1
99
Gambar 4.22 Traffic Shaper XP Rule Wizard 2
Gambar 4.23 Traffic Shaper XP Rule Display
Setelah pembagian penggunaan bandwidth antara server dengan para
pemain menjadi lebih merata, langkah selanjutnya adalah melakukan kalkulasi
akan kapasitas server berdasarkan hasil pengamatan yang telah didapat
sebelumnya mengenai pemakaian bandwidth oleh tiap client. Sebelumnya perlu
dicatat bahwa koneksi antara server dengan client ini merupakan koneksi 2 arah
(download dan upload), dengan lebih menitikberatkan terhadap kemampuan
100
upload server, karena server mengirimkan paket data lebih banyak ke client
dibanding dengan menerima paket data dari client (upload > download) sebab
pada setiap perubahan yang terjadi pada client, server harus mengirimkan paket
data baru agar client dapat menampilkan environment terbaru tersebut dengan
benar (client sinkron dengan server). Oleh karena itu perhitungan di bawah
menggunakan kapasitas upload server. Berikut ini adalah perincian bandwidth
yang mungkin digunakan oleh 1 client:
Perkiraan Kebutuhan Bandwidth (Average) Bandwidth yang digunakan per client : ----------------------------------------------------- 1000
300 s/d 1000 Bandwidth yang digunakan per client : ------------------ = 0,3 s/d 1 KBps 1000 Keterangan : 1 B (Byte) = 8 b (bit).
Karena bandwidth yang disediakan oleh server adalah 96 Kbps - 128
Kbps upload dan jika 1 client rata-rata memakan bandwidth sebesar 0,3 - 1
KBps, maka diasumsikan server dapat menampung hingga :
Total Bandwidth (Upload) Kapasitas server : -----------------------------------
Bandwidth per User
96 s/d 128 Kapasitas server : --------------
2,4 s/d 8
Kapasitas server : (96 : 2,4 s/d 96 : 8) hingga (128 : 2,4 s/d 128 : 8)
Kapasitas server : (12 s/d 40) hingga (16 s/d 53,33) client
Keterangan : 1 B (Byte) = 8 b (bit).
101
Jadi, berdasarkan perhitungan di atas, server diasumsikan dapat
menampung antara 12 pemain (worst case) hingga 53 pemain (best case). 53
pemain bukanlah angka yang sedikit, tentunya angka best case tersebut masih
merupakan sebuah asumsi, karena pada kenyataannya, sejumlah feedback dari
para pemain menyatakan bahwa setelah jumlah pemain di server ini melebihi 30
orang, mulai terasa penurunan performance koneksi server (client mulai merasa
lag / patah-patah).
Untuk meyakinkan bahwa hal tersebut bukanlah disebabkan oleh kondisi
fisik server (seperti belum dimatikan selama beberapa hari sehingga alokasi
memori menjadi kacau atau semacamnya), beberapa maintenance fisik komputer
yang meliputi hal-hal di bawah ini pun dilakukan :
- Melakukan disk checking untuk memperbaiki error-error yang mungkin
ada.
- Melakukan disk defragment untuk meningkatkan performance harddisk
(performance eAthena dalam melakukan aksi read dan write database
MySQL menjadi lebih baik).
- Menghapus file-file temporary untuk membebaskan sejumlah kapasitas
harddisk.
- Melakukan pengecekan registry dan memperbaiki registry-registry yang
corrupt.
- Mengistirahatkan komputer server selama beberapa jam.
Setelah server dinyalakan kembali, ternyata para pemain tetap mengalami
lag / patah-patah ketika jumlah pemain mencapai 30 orang ke atas. Oleh karena
102
itu, diyakini bahwa lag / patah-patah yang dialami oleh client tersebut bukanlah
disebabkan oleh kondisi fisik server, melainkan keterbatasan bandwidth yang
disediakan oleh server. Meskipun begitu, jumlah tampungan server tersebut
masih berada di dalam range hasil perhitungan kapasitas server di atas, di mana
kapasitas server adalah average case (berada di antara worst case dan best case),
yaitu sekitar 30 orang.
Dari data di atas dapat disimpulkan bahwa dengan kapasitas bandwidth
yang disediakan server saat ini, server hanya mampu menampung sekitar 30
orang sebelum munculnya tanda-tanda koneksi bermasalah. Oleh karena itu, agar
server dapat menampung lebih banyak jumlah pemain, perlu dilakukan
peningkatan kapasitas bandwidth server.
4.2.3 Bentuk Serangan Terhadap Server (BOT)
Program BOT merupakan sebuah program yang berfungsi sebagai makro
bagi client. Program ini men-simulasikan aktivitas pemain pada game online dan
menjalankan karakter pemain tersebut seolah-olah seperti pemainnya sendiri
yang memainkan game tersebut sesuai dengan setting yang diberikan. Meski
dampak program BOT terhadap kestabilan server sangatlah minim, akan tetapi
program BOT memiliki potensi untuk menjadi sebuah bentuk serangan bagi
server.
Mengapa demikian ? Karena, jika beberapa program bot (sebagai contoh,
5) dijalankan secara bersamaan pada 1 komputer client, kelima program BOT
tersebut masing-masing akan mengontrol pergerakan 1 karakter dan akan
dianggap sebagai 5 pemain di server dengan koneksi dari IP yang sama,
103
akibatnya 1 IP tersebut akan memakan kapasitas bandwidth dari server setara
dengan pemakaian bandwidth oleh 5 pemain. Untuk membuktikan hal tersebut,
dilakukan uji coba dengan cara menjalankan 5 program bot pada 1 komputer
client. Kemudian pemakaian bandwidth 1 client tersebut akan dimonitor dengan
menggunakan program Traffic Shaper XP.
Gambar 4.24 Traffic Shaper XP Screen 3
Dari gambar hasil pengamatan di atas, dapat dilihat bahwa 1 client
dengan local address yang memiliki nama domain ”limz” (komputer client yang
digunakan sebagai uji coba) memakan bandwidth sebanyak 5 kali lipat dari
jumlah pemakaian bandwidth 1 pemain pada umumnya. Oleh karena itu,
bayangkan jika 1 komputer menjalankan 10 program BOT, maka 1 IP tersebut
akan memakan bandwidth sebanyak 10 pemain. Bagaimana jika ada 10 komputer
yang masing-masing menjalankan 10 program BOT ? Tentunya hal tersebut
dapat menjadi sebuah bentuk ancaman bagi server, khususnya bagi server yang
104
memiliki kapasitas bandwidth tidak terlalu tinggi. Program BOT ini juga dapat
digunakan untuk melakukan apa yang disebut dengan DDoS attack terhadap
server, yaitu sebagai sebuah bentuk semi-flooding, dengan menjalankan program
BOT sebanyak-banyaknya dari komputer client sehingga kapasitas server
melebihi yang seharusnya.
4.2.4 Pemakaian Forum
Pada forum yang telah dibuat ini, setiap user dapat mengakses setelah
melakukan registrasi. Setelah melakukan registrasi dan login, user akan dibawa
ke halaman utama forum. Di halaman utama ini terbagi atas 3 kategori :
1. Announcement :
Kategori ini akan berisi tentang pengumuman dari admin, seperti news,
event, patch terbaru, bug fix dan donasi. Kategori ini dibagi lagi atas 3
sub kategori, yaitu News / Event, Patch / Bug Fix, dan Donasi.
2. In – Game Talk :
Kategori ini khusus membahas hal-hal yang berhubungan tentang private
server Ragnarok Online ini. Kategori ini dibagi lagi atas 6 sub kategori,
yaitu Item, Monster, Player, Guild, Quest, dan Others.
3. General Talk :
Di sini user bebas membuat topik (tidak harus tentang Ragnarok Online)
seperti kehidupan sehari-hari, tempat berkenalan, dan lain-lain. Oleh
karena topik yang dapat dibuat bebas, maka tidak ada sub kategori di sini.
105
Melalui forum ini, dilakukan beberapa polling kecil-kecilan terhadap para
pemain yang bermain di server ini dengan tujuan memperoleh feedback dari para
pemain mengenai performance server yang sedang berjalan.
Pertama-tama, diberi pertanyaan apakah server yang telah berjalan ini
sudah sesuai dengan kriteria private server yang dijadikan dasar pembuatan
server ini. Hasil yang didapat adalah sebagai berikut :
Gambar 4.25 Polling 1
Bisa dilihat bahwa yang menjawab bebas lag hanya sedikit, sehingga
disimpulkan lag adalah masalah utama di dalam server ini. Dari hasil kalkulasi
akan perbandingan bandwidth yang tersedia dengan kapasitas tampungan pemain
pada server, didapatkan bahwa dengan kapasitas upload bandwidth sebesar 128
Kbps, server dapat menampung antara 12 hingga 53 pemain. Untuk mendapatkan
kisaran angka yang lebih pasti akan hal tersebut, dilakukan polling lebih lanjut
mengenai terjadinya lag ketika memasuki jumlah pemain tertentu.
Dari hasil polling, diperoleh bahwa dari 22 orang yang melakukan voting,
sebanyak 15 orang mengaku lag mulai terjadi pada saat memasuki jumlah
pemain antara 26-35 orang, sedangkan 6 orang lainnya mengaku lag mulai
terjadi pada saat memasuki jumlah pemain antara 36-45 orang, dan sisanya 1
106
orang mengaku server lag pada saat memasuki jumlah pemain antara 46-55
orang. Dari hasil polling tersebut, didapatkan bahwa suara terbanyak mengatakan
bahwa lag mulai terjadi pada saat memasuki jumlah pemain antara 26-35 orang.
Sehingga dapat disimpulkan bahwa kapasitas tampungan pemain pada server
adalah +/- 30 orang sebelum mengalami penurunan performance koneksi.
Gambar 4.26 Polling 2
Setelah itu, dilakukan polling lebih lanjut yang bertujuan untuk mencari
tahu apakah para pemain puas dengan kapasitas tampungan pemain yang
berkisar antara 30 orang tersebut. Dari 19 orang yang melakukan voting,
sebanyak 16 orang menjawab tidak puas, sedangkan sisanya 3 orang menjawab
puas. Hasil polling tersebut membuktikan bahwa para pemain tidak puas dengan
kapasitas pemain yang berkisar antara 30 orang tersebut. Oleh karena itu
peningkatan kapasitas pemain diperlukan agar tingkat kepuasan pemain
bertambah.
Gambar 4.27 Polling 3
107
Lalu, mengenai permasalahan utama yang terjadi di server ini yaitu
mengenai maraknya penggunaan BOT, dilakukan polling untuk mengetahui
pendapat para pemain apabila penggunaan program BOT dituntas. Ternyata, dari
27 orang yang melakukan voting, sebanyak 25 orang menjawab setuju,
sedangkan sisanya 2 orang menjawab tidak setuju. Jadi dari hasil polling tersebut
bisa didapat bahwa sebagian besar pemain menginginkan sebuah komunitas yang
bersih dari para pengguna BOT.
Gambar 4.28 Polling 4
4.2.5 Solusi Pemecahan Masalah
Menghadapi masalah-masalah yang ada, solusi pemecahan masalah yang
dapat ditempuh adalah sebagai berikut :
1. Para pemain kurang puas dengan kapasitas tampungan player pada server
yang hanya dapat menampung sekitar 30 pemain sebelum menunjukkan
penurunan performance koneksi (lag). Untuk itu solusi yang dapat
dilakukan adalah dengan melakukan upgrade bandwidth pada server,
sehingga kapasitas pemain menjadi lebih besar. Solusi ini sekaligus juga
akan mengatasi masalah lag yang terjadi pada server yang dikarenakan
oleh kekurangan bandwidth.
2. Meski sudah dimonitor secara berkala dan disertai tindakan tegas akan
hal tersebut, para pengguna BOT tetap ada. Untuk menghadapi masalah
108
BOT, solusi yang paling efektif adalah dengan membuat rule
menggunakan Traffic Shaper XP yang membatasi koneksi dari tiap IP
menjadi 1. Solusi lain adalah dengan menambahkan script anti BOT yang
melakukan pengecekan terhadap para pemain yang sedang beraktivitas
(tidak idle) secara berkala dan meminta input secara langsung dari
pemain tersebut, apabila pemain tersebut tidak memberi input, maka
diasumsikan pemain tersebut adalah BOT dan akan langsung diban.
3. Sering adanya komplain mengenai error dari player, yang disebabkan
missing sprite dan texture. Hal ini biasanya disebabkan oleh client yang
digunakan oleh pemain tidak up-to-date (client-side). Solusi yang dapat
dilakukan adalah memberitahukan para pemain untuk melakukan patch
terhadap client agar client selalu up-to-date dengan versi yang digunakan
oleh server.
4. Masalah kegagalan koneksi yang bisa disebabkan oleh beberapa hal.
Untuk mengatasinya pastikan pada setting firewall port yang dibutuhkan
dibuka. Selain itu, ketika meng-hexed client, pastikan patch untuk Proxy
Support di-enable, jika tidak, client yang menggunakan proxy tidak akan
bisa melakukan login. Lalu, karena IP server bersifat dynamic, maka
dibutuhkan bantuan DNS Hosting agar client dapat terhubung ke server
tanpa masalah. Meskipun begitu, apabila ketika meng-hexed client patch
untuk DNS Support tidak dienable, maka client tidak akan mengenali
DNS yang dispesifikasikan di sclientinfo.xml dan tidak akan dapat
terhubung dengan IP server. Jika client masih mengalami masalah login,
109
kemungkinan masalah tersebut bukan dari server, melainkan dari client
itu sendiri, seperti internet client sedang bermasalah.
5. Masalah database corrupt yang dapat terjadi apabila hal-hal tidak terduga
menyebabkan server mati secara mendadak pada saat database sedang
disimpan, seperti mati lampu / komputer hang sehingga perlu direstart
paksa. Hal ini dikarenakan cara kerja char server yang selalu terhubung
dengan database para pemain di MySQL dan menyimpan tiap perubahan
status karakter pemain secara berkala, sehingga pada saat server mati
mendadak, data apapun yang ”sedang” disimpan pada saat itu menjadi
tidak sempurna dan ada kemungkinan terjadinya corrupt pada database.
Masalah ini dapat dicegah dengan cara melakukan backup secara berkala
terhadap database (misal satu hari sekali), atau juga dapat diatasi dengan
menggunakan command MySQL yaitu ”Repair Table” dengan resiko
kehilangan beberapa data yang terbaru (most recent). Selain itu, solusi
alternatif adalah dengan menggunakan UPS (Uninterruptible Power
Supply) sehingga jika terjadi mati lampu mendadak, komputer server
memiliki waktu untuk di-shut down secara ”proper”.
6. Meski terkadang server mendapat serangan berupa virus dari pihak luar,
sejauh ini software antivirus dan firewall yang digunakan mampu
mengatasinya. Untuk selalu menjaga tingkat keamanan server dapat
dilakukan dengan cara meng-update software-software tersebut dengan
update terbaru yang disediakan oleh developer dari software itu sendiri
secara berkala.