BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah...

38
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:

Transcript of BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah...

Page 1: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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:

Page 2: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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).

Page 3: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 4: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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 :

Page 5: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 6: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 7: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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)

Page 8: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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”.

Page 9: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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)

Page 10: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 11: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 12: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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).

Page 13: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 14: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 15: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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).

Page 16: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

87

Gambar 4.12 Diff Patcher 2

- Setelah itu akan muncul window seperti di bawah ini.

Gambar 4.13 Diff Patcher Option 1

Page 17: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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,

Page 18: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 19: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 20: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 21: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 22: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 23: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 24: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 25: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 26: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 27: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 28: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 29: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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).

Page 30: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 31: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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,

Page 32: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 33: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.

Page 34: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 35: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 36: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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

Page 37: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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,

Page 38: BAB 4 Judul - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab4/2009-1-00164-IF Bab 4.pdf74 - Langkah berikutnya, masuk ke folder eAthena Æ conf, dan cari char_athena.conf (buka dengan

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.