18 September 2018

Cara Memunculkan NPC pada Ragnarok Online Private Server

Setelah berhasil membuat server mu sendiri dan sudah berkeliling sedikit didalam dunia Ragnarok Online, kamu akan sadar kalau ada yang kurang. Kemana kah NPC-NPC yang biasanya ada di PSRO, seperti misalnya buffer, job changer, dan warper ?

NPC seperti Buffer, Job Changer, dan Warper yang biasa kamu pakai di PSRO pada umumnya merupakan Custom NPC yang dikembangkan dari NPC yang sudah ada. misal, pada prontera Inn, tempat untuk PvP kamu akan menemukan NPC yang menyembuhkan HP dengan membayar sejumlah uang, dengan menambahkan efek buff seperti Agi dan Blessing, dan dihapus requirment membayar sejumlah uang, maka jadilah sebuah NPC buffer.

Lalu bagaimana cara untuk memunculkan NPC-NPC tersebut ? caranya cukup mudah : 

  • buka folder npc pada emulator mu
  • buka file script_custom.conf dengan Notepad++
  • kamu akan melihat deretan list npc yang ada didalam emulator, kamu bisa melihat dimana letak masing-masing npc. Biasanya npc custom seperti warper ada didalam folder npc/custom 
  • Untuk memunculkan NPC yang kamu inginkan, kamu cukup menghapus tanda // (double slash) pada list npc, misal kamu ingin mengaktifkan npc Warper dan Healer, maka kamu cukup menghapus tanda // pada script menjadi seperti gambar dibawah 
  • Kamu tidak perlu menutup server untuk memunculkan npc tersebut, cukup gunakan command @reloadscript (NOTE: @reloadscript baiknya hanya digunakan pada saat test server, karena bukan hanya NPC yang direset, Monster seperti MVP, dan beberapa Instances juga akan ikut reload/reset)
  • Kalau kamu tidak ingin NPC tersebut muncul, kamu bisa men-disable npc tersebut dengan kembali menambahkan tanda //

Mudah bukan, harus diingat, format dari load script adalah

npc: nama/folder/namascript.txt

Kalau salah, npc tersebut tidak akan muncul (ada pesan error pada map-server), kamu juga bisa memanggil NPC tersebut (temporary) dengan menggunakan command @loadnpc  dari dalam game misal :

@loadnpc npc/custom/jobmaster.txt

Karena @loadnpc bersifat temporer, jangan lupa aktifkan / tambahkan npc yang kamu load didalam game pada script_custom.conf agar NPC tersebut akan muncul kembali saat server dihidupkan.

NOTE : ada sedikit perbedaan pada emulator Hercules terbaru, yaitu ditambahkannya tanda quotes dan koma, namun cara nya tidak jauh berbeda, hanya perlu mengurangi tanda // untuk mengaktifkan NPC.

11 September 2018

Membuat Akun GM Ragnarok Online Private Server


Ketika kamu masuk game, kamu yang sudah terbiasa bermain private server pasti menyadari bahwa saat kamu tidak dapat menggunakan perintah @ command seperti @go, @autoloot  dan lain-lain, walaupun kamu lah yang membuat server tersebut. Hal ini dikarenakan setiap ID baru yang dibuat menggunakan default level GM 0. Level GM atau yang sekarang disebut Group ID harus di ubah terlebih dahulu pada Account ID yang diinginkan agar dapat menggunakan @ command.

Group ID atau Player Group, pertama kali diperkenalkan pada rAthena sejak TXT Server dihapus, merubah format config atcommand_athena.conf pada eAthena yaitu

command name: level(@),level(#)

level @ berarti perintah yang digunakan sendiri, menggunakan @

level # berarti perintah yang hasilnya dapat di-implementasikan ke ID lain menggunakan #namakarakter (charcommand)

misalnya pada command,

zeny: 60,99

Hanya player dengan level GM 60 yang bisa menggunakan @zeny untuk menambah zeny pada karakter yang sedang dimainkan misal @zeny 1000, maka jumlah zeny akan bertambah 1000. Dan hanya player dengan level GM 99 yang bisa memberikan zeny menggunakan command #zeny namakarakter pada karakter (harus sedang online) yang dituju, misalnya #zeny namakarakter 1000, maka jumlah zeny pada player bernama namakarakter akan bertambah 1000.

Namun tidak semua perintah dapat digunakan dengan command #, seperti misalnya reloadscript, mapexit, snow, dan lain-lain. Dan level GM yang lebih tinggi bisa menggunakan perintah level GM yg lebih rendah, seperti misalnya pada contoh diatas, command zeny hanya bisa digunakan untuk level GM 60 atau lebih.

Pada versi rAthena dan emulator lain yang terbaru, sekarang file atcommand_athena.conf sudah dihapus dan diganti menjadi groups.conf. Pada prinsipnya sama, hanya saja sekarang peng-group-an nya lebih spesifik, kamu bisa membuat grup untuk masing-masing fungsi, seperti misalnya dalam server kamu, ada Event Manager, Enforcer, Supporter, dan Admin. kamu bisa membuat command zeny hanya untuk Event Manager, jail hanya untuk Enforcer, Supporter tidak bisa transfer barang atau zeny, dan tentu saja Admin bisa menggunakan perintah apapun.

Sama seperti pada eAthena, tidak semua command bisa digunakan dengan command #, dan pengaturannya tidak lagi menggunakan angka sebagai value, tapi kamu cukup menggunakan tanda true atau false.

seperti misalnya untuk zeny, pada sebelumnya pengaturannya seperti ini

zeny: 60,60

Namun, pada config baru, ada perubahan seperti ini

zeny: [true, true]

Sama seperti pada config di eAthena, agar player group dengan ID yang dituju tidak dapat menggunakan command #, maka kamu hanya perlu membuatnya seperti ini :

zeny: [true, false]

Untuk menambahkan perintah lain, seperti misalnya untuk agar player (tanpa level GM ) bisa menggunakan perintah yang umum dipakai oleh private server pada umumnya, buka groups.conf dan cari id: 0, dan tambahkan dibawah /*no commands by default*/.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
 id: 0 /* group 0 is the default group for every new account */
 name: "Player"
 level: 0
 inherit: ( /*empty list*/ )
 commands: {
  /* no commands by default */
  commands: true
  autoloot: true
  alootid: true
  go: true
 }
 permissions: {
  /* without this basic permissions regular players could not 
  trade or party */
  can_trade: true
  can_party: true
 }
}

Dan kalau kamu perhatikan, ada settingan permission pada beberapa group id. Permission disini berguna untuk mencegah staff kamu korupsi seperti misalnya, kamu bisa menambahkan permission :

can_trade = false

Dengan perintah ini, maka karakter dengan id group tersebut, tidak akan bisa transfer barang dengan trade, mail, bahkan barang yang ada di inventory tidak akan bisa masuk kafra storage.

Oke, semoga kamu mengerti sampai tahap ini. Sekarang kita lanjut untuk membuat akun player mu menjadi GM, atau kalau kamu ingin membuat Akun GM baru.

Setelah kamu berhasil men-setup server dan sudah berhasil sampai masuk game, yang artinya kamu sudah pernah membuat ID dengan format username_m/_f. Sekarang waktunya untuk membuat database kamu. (Jika server emulator mu nyala, kamu tidak perlu mematikan server mu)

  • Nyalakan rAsql (Stop dulu jika kamu sudah memulainya dan menutup form login HeidiSQL)
  • login ke dalam database dan cari database RO mu (disini penulis menggunakan nama database fn2016)
  • cari dan masuk kedalam table login dengan cara klik 2x lalu klik Data pada label dibawah toolbar jendela kanan atau expand klik panah pada nama database mu di sebelah kiri, dan klik table login
  • kamu akan melihat id dan password yang tersimpan didalam database mu.

Akun GM pada database Ragnarok Online Private Server
  • group ID mu ada pada lingkaran merah, klik 2x dan rubah dari 0 menjadi 99 (menjadi admin)
  • tekan Enter atau klik sembarang untuk men-save perubahan.

Sekarang kembali kedalam game, cobalah gunakan command yang biasa kamu pakai, dan Selesai ! Kamu sudah berhasil membuat ID GM mu  pada Ragnarok Online Private Server sendiri !

Lalu bagaimanakah caranya untuk menambah akun baru ?

  1. Cara paling simple adalah manual register dengan _m/_f didalam game.
  2. Manual register didalam database dengan cara Insert Row, masuk kedalam database dan ke table login sampai kamu melihat data-data ID server mu, klik kanan Insert Row pada account_id yang paling terakhir (kalau kamu belum membuat ID baru, maka pada akun 2000000, lalu isikan accound_id, username, password, dan email (Account ID harus urut, 2000000, 2000001, dst.)

Kalau kamu mau menghapus salah satu karakter mu, e-mail default ID yang didaftar dengan _m/_f adalah a@a.com. 

NOTE
  1. Jangan hapus manual dari database, karena bakal ribet.
  2. Hati-hati dalam mengedit database, data yang rusak bisa berakibat mengulang penginstalan database (Khususnya untuk kamu-kamu yang masih benar-benar pemula)

Jadi kesimpulannya, untuk game online seperti misalnya Ragnarok Online, biasanya ada beberapa tingkatan level GM, dan Game Master tidak bisa memperbaiki bug atau error yang kamu alami, seperti misalnya, karakter yang nyangkut dan tiap kali login muncul Gravity Error (biasanya ada file map yg rusak), atau ada item error ketika dipakai. Game Master hanya berfungsi sebagai Customer Service didalam game, seperti kalau sinyal provider mu jelek, dan kamu melaporkan apa yang terjadi. Dan kebanyakan untuk urusan teknis, kamu akan mendapatkan jawaban, "Mohon ditunggu ya, nanti teknisi kami akan segera memperbaiki", sudah biasa terjadi.

Well, pengalaman buruk penulis, pernah karakter penulis nyangkut di field bawah Morroc, lalu penulis coba-coba telpon customer service, lucunya customer service pada line telepon bilang, "Mohon ditunggu ya, bug nya lagi dibenerin sama Game Master", lucu ya, kesalahan ditimpalkan ke game master haha.

Dengan management Game Master yang baik, dan menjadi Administrator yang baik pula, kamu akan bisa membangun server mu dengan menjadi yang terbaik, Good Luck !

07 September 2018

Menjalankan dan Test Play Private Server Ragnarok Online

Setelah selesai setup server, client, dan hexing ragexe, sekarang kamu sudah dapat mencoba bermain private server  buatan mu sendiri. Tapi sebelumnya, kamu harus mendownload kRO terlebih dahulu. Kenapa harus kRO ? karena base dari emulator ragnarok menggunakan acuan dari kRO. Bukan berarti kamu tidak bisa menggunakan idRO untuk bermain private server, tapi akan lebih baik jika kamu menggunakan kRO.

Yang perlu kamu siapkan untuk memulai private server mu adalah :
1. kRO Installer
2. Custom Setup.exe by Ai4rei (pilih sesuai versi kRO mu : http://nn.ai4rei.net/dev/rel/opensetup/old/
3. Buat DATA.ini
  • Buka folder Ragnarok mu (kRO atau idRO atau private server)
  • cari DATA.ini dan copy paste ke folder private server mu.
  • Buka dan tambahkan nama file custom GRF mu pada urutan paling atas (no. 1) seperti gambar dibawah, lalu save. (NOTE: huruf besar kecil harus sama)
  • Jika kamu menggunakan GRF tambahan seperti misalnya pallete.grf, jangan lupa tambahkan juga.
Optional :
4. Custom kRO Patcher by Ai4rei :http://nn.ai4rei.net/dev/rsu/#download

Setelah kamu mendownload dan menginstall (mengekstrak) client kRO terbaru, pindahkan custom grf, custom client dan data.ini (yang sudah dimodif). Lalu jalankan rAsql, Setelah itu, jalankan server rAthena / Herculesmu, yaitu dengan menjalankan run-server.bat atau secara berurutan, login-server.exe, char-server.exe, dan map-server.exe.

Setelah server online, buka folder private server ragnarok mu, dan jalankan Ragexe.exe yang sudah kamu buat. Karena kamu belum mempunyai ID, daftarkan dengan menggunakan _M / _F, misalnya admin_M dan isikan passwordmu. Masuk dan buatlah karaktermu. Setelah itu, masuklah kedalam dunia Ragnarok mu

Untuk bermain LAN, ubah IP Address dengan IP LAN mu pada clientinfo.xml. Untuk mendapatkan IP LAN mu, buka CMD.exe (klik Start - Run atau Klik Start, ketik pada kolom search cmd) ketik ipconfig lalu tekan Enter. Lihat IP mu pada IPv4 Address, misal 192.168.1.12

Trouble-shooting.
Biasanya pada tahap ini, kamu akan mengalami error / crash (Gravity Error) pada saat membuka ragexe.exe buatanmu.

Yang sering terjadi :
Problem : Error: Missing (file)
Solusi : update kRO mu ke paling terbaru, dan juga update Translated Data Foldermu.

Problem : Forced Closed sebelum sempat masuk game.
Solusi : ulangi proses Hexing client (patch), gunakan option yang dipilih oleh Select Recomendation.

Problem : Tombol-tombol / tulisan korea.
Solusi : periksa DATA.ini, apakah kamu sudah mencantumkan custom GRF mu ?

Yang sering terjadi setelah masuk kedalam game :
Problem : Salah satu Item bergambar Apel (Unknown Item)
Solusi :
  • Buka Translated Data Folder yang kamu download
  • cari dan buka file idnum2itemdisplaynametable.txt
  • CTRL+F (find) id item yang Unknown / bergambar apel.
  • Jika tidak ditemukan, update Translated Data Folder mu, atau disable item tersebut pada Database.
  • Jika ada, buka folder Ragnarokmu, lalu buka folder System, cari ItemInfo.Lub, cari kode item yang Unknown / bergambar apel, Jika tidak ada, Update ItemInfo.Lub mu.
NOTE : Tutorial yang saya buat sampai pada artikel ini, defaultnya menggunakan Renewal (karena memang saya tidak belum mengajarkan untuk mengganti sistem Renewal atau Pre-Renewal) dan hanya merubah pengaturan untuk bermain secara Offine atau LAN. Jadi bila ada error diluar yang saya ajarkan, silahkan untuk mencarinya sendiri lewat google atau forum masing-masing emulator, Trims.

01 September 2018

Hexing Unpacked Ragnarok Client


Unpacked Ragnarok Client adalah file exe asli dari kRo yang belum pernah diedit. File exe idRO bukan Unpacked, karena sudah dimodifikasi, seperti misalnya untuk auto-follow karakter lain, kamu bisa menekan SHIFT+klik kanan pada karakter lain, kamu akan berhenti mengikuti karakter lain setelah memukul musuh atau menggunakan skill yg menyerang musuh, dan kamu bisa auto-follow kembali dengan menggunakan SHIFT+Klik Kanan lagi. namun pada idRO (versi Gravindo), setelah kamu memukul musuh atau menggunakan skill untuk menyerang musuh, kamu harus Logout terlebih dahulu dapat menggunakan perintah ini lagi (Auto-follow berguna saat kamu malas mengklik untuk berjalan atau saat kamu sedang menggunakan Dual Client).

Dan untuk dapat bermain, kamu harus menggunakan Ragnarok Client (Ragexe) dari kRO, dan tentu saja menggunakan Full Client dari kRO. Ragexe dari RO official lain biasanya tidak bisa dimainkan bila menggunakan Client dari RO Official lain. Tapi kamu bisa menambah atau merubah konten (dengan format yang sama), misalnya seperti pada Custom GRF, kamu menambahkan pallete untuk warna baju dan warna rambut karaktermu (dan diatur pada saat meng-hexing unpacked client).

Sebelum memulai, penulis akan mengingatkan kamu, kalau tahap ini adalah tahap yang kebanyakan orang gagal, dikarenakan patch untuk hexing yang dishare (oleh orang-orang baik, terima kasih banyak!) terkadang tidak lengkap, bahkan tidak pernah dibuat (tidak stabil).

Jadi, bagaimana caranya biar gampang ?
  • Pertama, pada Hercules, buka folder src/common/ , pada rAthena buka folder src/config
  • Buka file mmo.h pada Hercules, file packets.hpp pada rAthena, menggunakan Notepad++ cari value seperti dibawah :
  • 1
     #define PACKETVER 20141022
    
  • PACKETVER pada emulator saya adalah 20141022, berarti saya menggunakan client 2014-10-22 Ragexe (FORMAT PACKETVER / CLIENT = Tahun / Bulan / Tanggal)
  • Buka forum resmi rAthena dan Hercules (biasanya pada salah satu forum, ada yang share), cari subforum Client Release, lalu cari topic yang berhubungan dengan kode PACKETVER yang ada di emulatormu. Jika tidak ada yang share, berarti kamu harus patch Ragexe mu sendiri.

Default PACKETVER pada Hercules adalah 20141022
Default PACKETVER pada rAthena adalah 20151104
(NOTE: update terakhir pada saat tulisan ini dibuat)

Default packetver pada masing-masing emulator biasanya adalah yang paling stabil, dengan sedikit bug, namun client versi lama tidak akan mendapatkan fitur baru, seperti misalnya, update Max Level Homunculus menjadi 175 hanya bisa digunakan dengan 20170920, yang artinya client sebelum 20170920 tidak akan support Max level Homunculus yang baru.

Dan untuk kamu yang ingin membuat server Pre-Renewal, hal ini bisa menjadi kelebihanmu, kamu cukup memilih beberapa client stabil yang direkomendasikan oleh komunitas, seperti misalnya client 20141022, 20120410 , dan 20100803.

Oke, sekarang lanjut ke cara hexingnya, seperti biasa persipkan terlebih dahulu perabotannya.
1. Client Patcher, pilih salah satu, Secret's Nemo support client 2016 keatas (kedua Patcher ini sudah tidak update / discontinued)
2. Unpacked Ragnarok Client (Ragexe.exe)
3. Hex Client Editor : HxD (Gratis)

Berikut adalah langkah-langkah untuk patch Ragexe, disini saya menggunakan Neo's Nemo, dan menggunakan 20141022bRagexe.exe.
  • Buat folder baru agar mempermudah pekerjaanmu, misalnya Patching
  • Download dan extract Unpacked Client (Ragexe).
  • Download dan save Client Patcher pada folder Patching
  • Jalankan aplikasi Nemo (Run As Administrator)
  • Pada baris Input File Exe, klik browse dan cari Ragexe mu, setelah Ok. kolom Output Patched akan terisi otomatis, kamu bisa mengganti nama Exe dan lokasi penyimpanannya.
  • Klik Load Patches pada Toolbar, lalu akan muncul list patch yang dapat di apply ke Ragexe .
  • Klik Select Recomended pada Toolbar, Nemo secara otomatis akan memberikan patch rekomendasi untuk Ragexe yang akan di patch. Lalu akan muncul beberapa option untuk merubah setelan Ragexe seperti misalnya DATA.INI.
  • Kamu mungkin perlu menambah beberapa patch, seperti misalnya, centang option Use Ragnarok Icon (Option ini akan mengganti Icon Gear pada Ragexe menjadi icon Ragnarok Online pada umumnya),  centang option Increase Headgear ViewID (Defaultnya 2000, cukup rubah menjadi 6000, maksimal 32000), terakhir centang option Read Data Folder First (berguna agar Ragexe membaca folder Data terlebih dahulu kemudian GRF, akan saya jelaskan fungsinya nanti pada artikel lain)
  • Kalau kamu ragu, jangan centang option lain, atau meng-uncheck option yang sudah dipilih oleh Nemo ketika menggunakan toolbar Select Recomended
  • Klik Apply Selected pada toolbar untuk menyimpan perubahan yang sudah kamu buat.
Selamat, kamu sudah selesai mempatch Ragexe.exe mu sendiri !

Membangun Client Side


Untuk dapat memainkan sebuah game MMO, kita membutuhkan game client, biasanya berisi file executable (EXE), file game asset yang ter-enkripsi, dan file-file pendukung seperti dll. BGM, dan patcher. Biasanya disediakan Publisher agar bisa didownload dan dimainkan oleh Player.

Pada Ragnarok Online private server, biasanya kamu membutuhkan custom client sendiri, selain client official, agar dapat bermain. Custom client mendukung private server mu agar memiliki identitas server mu sendiri. Seperti misalnya, pada saat membuka game, player akan logo server mu pada tampilan login screen. Walaupun tanpa Custom client ini kamu tetap dapat bermain dengan menggunakan Hexed Client dan mengedit clientinfo.xml.

Ragnarok Online menggunakan file ekstensi GRF sebagai media enkripsi data-data gamenya, ketika kamu menjalankan Ragnarok.exe, maka game akan membaca file grf tersebut agar game bisa berjalan. Biasanya file grf ini berisi data-data seperti sprite karakter, sprite item, dan Map beserta grafik pendukung seperti thumbnail item, deskripsi item, dan lain-lain. Ragnarok Online menggunakan data.grf sebagai file enkripsi. Pada versi terdahulu ada grf tambahan seperti sdata.grf dan rdata.grf. Dan pada saat event-event khusus berlangsung biasanya terdapat grf tambahan seperti event.grf.

Hal-hal yang dibutuhkan dalam membuat custom client / Custom GRF mu sendiri, yaitu:
1. grf builder : Download dari Ratemyserver
2. Translated Data Folder (Pilih salah satu sesuai konsep private server mu)
3. clientinfo.xml
Template : https://github.com/HerculesWS/Hercules/wiki/Clientinfo.xml


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
 <desc>Ragnarok Client Information</desc>
 <servicetype>korea</servicetype>
 <servertype>sakray</servertype>
 <hideaccountlist />
 <passwordencrypt />
 <passwordencrypt2 />
 <extendedslot />
 <readfolder />
 <connection>
  <display>SERVER NAME HERE</display>
  <desc>Ragnarok Online</desc>
  <balloon>this is a tool tip</balloon>
  <address>SERVER IP HERE</address>
  <port>6900</port>
  <version>20</version>
  <langtype>1</langtype>
  <registrationweb>REGISTRATION URL HERE</registrationweb>
  <yellow>
   <admin>2000001</admin>
   <admin>2000002</admin>
   <admin>2000003</admin>
  </yellow>
  <loading>
   <image>loading00.jpg</image>
   <image>loading01.jpg</image>
   <image>loading02.jpg</image>
   <image>loading03.jpg</image>
   <image>loading04.jpg</image>
   <image>loading05.jpg</image>
   <image>loading06.jpg</image>
   <image>loading07.jpg</image>
   <image>loading08.jpg</image>
   <image>loading09.jpg</image>
   <image>loading10.jpg</image>
  </loading>
 </connection>
</clientinfo>

Kamu hanya perlu membuatnya seperti ini menggunakan Notepad++

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
<servicetype>korea</servicetype>
<servertype>primary</servertype>
   <connection>
      <display>NamaRO</display>
      <balloon></balloon>
      <desc></desc>
      <address>127.0.0.1</address>
      <port>6900</port>
      <version>30</version>
      <langtype>1</langtype>
      <registrationweb></registrationweb>
 <loading>
 <image>Loading00.jpg</image>
 <image>Loading01.jpg</image>
 <image>Loading02.jpg</image>
 <image>Loading03.jpg</image>
 <image>Loading04.jpg</image>
 <image>Loading05.jpg</image>
 <image>Loading06.jpg</image>
 <image>Loading07.jpg</image>
 <image>Loading08.jpg</image>
</loading>
      <aid>
 <admin></admin>
       </aid>
   </connection>
</clientinfo>
Save dengan nama clientinfo.xml pada Notepad++, dan masukan ke dalam folder data yang sudah kamu download.

NOTE : Hapus ID pada (2000001 dan seterusnya) jika kamu tidak menginginkan ID tersebut menggunakan sprite Game Master (GM). Ganti IP pada address sesuai WAN IP atau Nama Domain (misal www.ragnarokku.com) mu jika kamu menggunakan server ini untuk Online, LAN IP jika ingin bermain LAN, dan 127.0.0.1 atau localhost jika kamu ingin bermain sendiri.


Cuma itu saja ? yap, kecuali kamu ingin menambah grafik custom, kamu akan membutuhkan aplikasi untuk mengedit gambar seperti Adobe Photoshop atau GIMP.

Langkah-langkah untuk membuat custom client mu adalah sebagai berikut

  • Download Translated Data Folder (Pilih salah satu), struktur utama folder selalu bernama data, Tapi kamu selalu bisa menggantinya dengan nama lain. Didalam folder data terdapat folder dan file-file yang digunakan didalam GRF.
  • Data folder dengan struktur lengkap

  • Download dan jalankan aplikasi GRF Builder (grfbuilder.exe) 
    Tampilan GRF Builder versi 0.1.30
  • klik New pada toolbar, lalu tentukan lokasi file grf yang akan dibuat, isilah nama file sesuai keinginanmu, misalnya MyData.grf (NOTE: ekstensi .grf harus diketik juga)
  • klik Merge dir pada toolbar, cari dimana kamu menyimpan Translated Data Folder yang sudah kamu download. Klik (sekali) pada nama folder tersebut lalu klik Ok. Tunggu sampai aplikasi selesai membaca.
  • Terakhir, klik Repack pada toolbar. Tunggu sampai proses selesai.

  • Sampai disini, kamu sudah berhasil membuat custom client / custom GRF mu sendiri, Happy RO !

    31 Agustus 2018

    Membangun Server dan Database (Personal Computer/OFFLINE)

    Cara kerja server side dan client side

    Server pada dasarnya adalah sebuah komputer yang menyimpan data-data yang dapat diakses dan diproses oleh game engine pada client side. Pada RO, Server digunakan sebagai akses data player juga menyimpan segala jenis riwayat seperti pick log, chat log, dan lain-lain. Server juga bisa digunakan sebagai Website/Portal.

    Pada Artikel ini, saya akan menjelaskan bagaimana caranya untuk membuat Private Server menggunakan OS WINDOWS untuk bermain sendiri atau bermain bersama dengan LAN (OFFLINE)

    Langkah Pertama

    yang kamu butuhkan adalah, mendownload file Emulator pilihan kamu.

    Pada Windows, biasanya kamu akan membutuhkan program tambahan seperti TortoiseGit, kamu bisa langsung mendownload archive dalam bentuk Zip,


    Men-download langsung dalam bentuk ZIP, tanpa menggunakan TortoiseGit (pada OS Windows) 

    Tapi, lebih disaran untuk mendownload dengan menggunakan TurtoiseGit, langkahnya ikuti pada masing-masing emulator yang kamu pilih :

    • Cara download dan install rAthena dengan TurtoiseGit : Klik Disini
    • Cara download dan install Hercules dengan TurtoiseGit : Klik Disini


    Langkah Kedua, mengatur interkoneksi antar server.

    Ragnarok Online menggunakan server berbasis AEGIS, dimana terdapat tiga server yang saling berhubungan yaitu, 

    • Login Server, memproses data ketika ID dan Password di input.
    • Char Server, memproses data karakter yang ada didalam ID
    • Map Server, memproses karakter dan Script-script seperti NPC, monster, warp portal, dan lain-lain.


    NOTE :

    • Jika Login Server mati, ID yang berhasil login tetap bisa memilih karakter dan melanjutkan permainan seperti biasa didalam dunia game.
    • Jika Char Server mati, ID yang berhasil login, memilih karakter, dan berhasil masuk kedalam game, tetap dapat bermain, namun, segala update seperti naik level, perubahan stat, perubahan skill, dan item yang didapat tidak akan tersimpan (roll back).
    • Jika Map Server mati, ID tetap dapat proses dan bisa memilih karakter, namun, karakter tidak dapat masuk ke dunia game, semua karakter yang berhasil masuk kedalam server akan keluar dari game (Disconnect).

    Pada versi emulator terdahulu, kamu bisa langsung merubah settingan interkoneksi server dengan merubah beberapa file, namun, untuk beberapa versi terbaru, kamu harus melakukan compile terlebih dahulu.

    Pada OS Windows (Hanya support Visual Studio 2013 keatas),

    • Download versi terbaru Visual Studio (pada saat tulisan ini dibuat, Penulis menggunakan Microsoft Visual Studio 2015 Community Edition), setelah selesai men-download, Install. 
    • Pada rAthena, buka rAthena.sln pada folder rAthena mu,
    • Pada Hercules, Buka Hercules-12.sln jika kamu punya MS Visual Studio 2013, buka Hercules-14.sln jika kamu punya MS Visual Studio 2015, buka Hercules-15.sln jika kamu menginstall MS Visual Studio 2017 (Perhatikan versi Visual Studio yang kamu install !)
    • Cari Debug (pada tanda merah), rubah ke Release 

    • Klik kanan Solution Mode (pada tanda biru), pilih Build solution. Jika kamu sudah pernah meng-compile server mu, pilih Rebuild solution (akan berguna nanti jika kamu merubah source file).
    • Tunggu sampai proses compile selesai, kecepatan waktu compile tergantung dari spek komputer kamu.
    • Jika proses compile selesai, periksa folder rAthena / Hercules mu, periksa adakah login-server.exe, char-solution.exe, map-server.exe, dan mapcache.exe. Bila tidak ada, berarti proses compile gagal.

    Untuk Linux, maaf penulis belum pernah mencoba menggunakan OS Linux / Unix pada Personal Computer, silahkan mengecek dokumentasi pada masing-masing emulator yang akan kamu gunakan.

    Istirahat sebentar ya, sampai disini kamu sudah berhasil mempersiapkan server mu, untuk melanjutkan ke tahap selanjutnya, kamu membutuhkan SQL Server sebagai database. Mungkin beberapa dari kamu pernah mendengar TXT Server dan SQL Server untuk versi eAthena. Dimana kamu mendownload TXT Server jika ingin bermain secara lokal / LAN / offline, dan mendownload SQL Server jika ingin benar-benar menjadi sebuah Ragnarok Online dan orang lain bisa bermain dari kejauhan.

    Sejak rAthena mulai berkembang (sebelum beberapa staff terpecah dan membangun saingannya Hercules), pada update revisi r15503, rAthena berhenti mensupport TXT Server. Sebagai gantinya, rAthena merilis aplikasi bernama rAsql, dimana para developer tidak perlu repot-repot membangun webserver beserta SQL Server dalam mengembangkan PSRO nya. rAsql hanya berfungsi sebagai mySQL portable, kamu tetap bisa menggunakannya untuk bermain LAN.

    Langkah Ketiga, Membuat Database.

    Oke, masuk ke tahap selanjutnya, yaitu membuat database untuk server kamu. Karena menggunakan mysql server membutuhkan webserver dan membuatnya agak merepotkan, kita hanya perlu mendownload rAsql sebagai database untuk database. rAsql pada dasarnya dibuat oleh tim developer rAthena menggunakan HeidiSQL Portable, namun jika Hercules adalah pilihan emulator mu, kamu tetap dapat menggunakan aplikasi tersebut.

    Menggunakan rAsql.

    • Download rAsql melalui TortoiseGit atau download file ZIP nya langsung
    • Setelah terdownload, buka folder rAsql mu, jalankan start_mysql.bat, tunggu beberapa saat hingga muncul jendela login form.
    • Default Username = ragnarok, password = ragnarok.
    • Isi Username dan password, lalu pilih login, jika ada confirmation form muncul, pilih saja NO (don't save), setelah itu akan muncul jendela baru yang lebih besar (HeidiSQL Portable).

    • Pada kolom kiri, klik kanan pada Unnamed (Kalau kamu tidak merubah apapun saat login), lalu pilih Create New, kemudian Database.
    • Isi nama database yang kamu inginkan (disini penulis menggunakan nama fn2016), tidak perlu menggunakan huruf kapital, agar mudah dihapal.
    • Alternatif lain, kamu bisa menggunakan Database ragnarok yang sudah default ada di dalam SQL.
    • Klik pada Database yang sudah kamu buat, kolom sebelah kanan masih terlihat kosong.
    • Pada kolom sebelah kanan, pastikan label Database: mu sudah terklik, kemudian klik menu Import dan klik Load SQL Files.

    • Cari folder rAthena / Hercules, lalu buka folder sql-files, kamu akan melihat beberapa file seperti dibawah untuk Hercules. Untuk rAthena, memiliki file lebih banyak, yaitu adanya item_shop_db, item_shop_db2, dan Roulette_default_data. Perhatikan pula untuk beberapa file seperti item_db dan mob_db, terdapat file item_db_re dan mob_db_re,.Re disini berarti Renewal, yang artinya, isi file tersebut berisi data-data yang dibutuhkan jika kamu akan menggunakan renewal sebagai mode game (3rd Job).

    • TIdak ada urutan yang spesifik untuk mengimport SQL file tersebut, kamu juga bisa memasukan sekaligus semua file dengan menggunakan CTRL+Klik kiri, namun, akan lebih baik jika kita masukan satu persatu sambil mengerti apa saja isi file tersebut. Berikut adalah urutan yang biasa penulis lakukan saat import data SQL. 
      (NOTE: Setiap kali memilih memilih file, pastikan kamu menekan tombol  Execute SQL (Tombol play berwarna biru pada toolbar, dan tunggu sampai proses selesai sebelum meng-import file lain).
    • main.sql - berisi table untuk data yang berhubungan dengan ID, character, guild, dan lain-lain
    • item_db, item_db_re, dan item_db2 - berisi table data-data item,
    • mob_db, mob_db_re, dan mob_db2 - berisi table data-data monster,
    • mob_skill_db, mob_skill_db_re, dan mob_skill_db2 - berisi table data skill monster
    • logs.db - berisi table untuk riwayat server mu, seperti chat_log, pick_log, dan zeny_log yang akan berguna untuk mencari kecurangan pada GM mu, hehe
    • untuk rAthena, masukan file sisanya yaitu, item_shop_db, item_shop_db2, dan Roulette_default_data
    • Setelah satu persatu file SQL kamu import, klik tombol Refresh pada toolbar, lalu pilih nama Database mu pada kolom sebelah kiri. Sekarang database harusnya sudah terisi table-table database yang kamu perlukan untuk menjalankan Private Server mu.



    • Selanjutnya, cari table login pada kolom sebelah kanan lalu klik 2x pada table tersebut. Lalu klik Label Data seperti gambar dibawah. Dan kamu akan melihat ada data default dengan Account ID 1, nama ID s1, password nya p1, untuk sementara, kamu tidak perlu merubah ini, tapi nanti, jika kamu berniat untuk membuat servermu Online, maka kamu harus merubah ID dan Password tersebut. (NOTE : Sex, S, = Server, M = Male, F = Female). Table login berisi data-data seperti ID, password, email, last login, dan lain-lain (Kamu bisa melihat-lihat sendiri hehe). 

    • Untuk sementara, kita tinggalkan dahulu rAsql terbuka dan pindah ke tahap selanjutnya.

    NOTE : rAsql bisa di duplikasi, namun beda folder, maka beda pula isi database yang akan muncul saat mysql dibuka.


    Langkah Keempat, Menghubungkan Server dan Database.

    Langkah terakhir adalah merubah file config, untuk bermain secara offline kita tidak memerlukan banyak perubahan, pastikan kamu sudah mendownload dan menginstall Notepad++ untuk memudahkan pekerjaanmu. Jika belum, cek kembali artikel Membangun Private Server Ragnarok Online.

    Masuk kedalam rAthena / Hercules, dan buka folder conf, periksa apakah folder import sudah ada atau belum, jika belum buatlah folder bernama import (huruf kecil semua). dengan folder import, kamu tidak perlu bolak balik scroll config yang mau dirubah, karena isi file confignya lumayan penuh dengan deskripsi masing-masing fungsi.

    Buka aplikasi Notepad++, buat file baru melalui menu New (CTRL+N) pada Notepad++

    (NOTE: Jika folder import dan isinya sudah ada sedari awal, kamu cukup membuka file-file dibawah satu persatu ke Notepad++)

    - char_conf

    • Pada char_conf, kamu harus merubah username dan password (Default, username = s1, password = p1), kamu juga bisa merubah nama server, dan menambah huruf, angka, dan simbol yang dapat digunakan pada saat membuat Karakter. Pada file ini kamu juga bisa merubah senjata, armor, dan zeny awal, juga posisi koordinat spawn pertama kali setelah membuat karakter baru.

    • userid dan passid ini harus sama dengan yang ada didatabase, jika kamu tidak merubahnya di database, kamu tidak perlu merubah yang di config.
    • Nama server tidak boleh ada spasi, nama server akan muncul saat kamu memilih server dan saat karakter masuk kedalam game.
    • login_ip dan char_ip default adalah 127.0.0.1 (atau localhost), pada beberapa tutorial mengharuskan kamu untuk menggunakan LAN IP komputer kamu, misalnya 192.169.0.2, tapi server akan tetap berjalan dengan IP default yang disediakan
    • Save, bila kamu belum punya file char_conf pada folder import, buatlah file tersebut dengan file type : All type.


    - map_conf

    • Sama seperti char_conf, userid dan passid harus sama dengan yang ada di database.
    • char_ip disini tetap default 127.0.0.1
    • map_ip diharuskan menggunakan WAN IP pada beberapa tutorial, namun untuk saat ini, biarkan saja default 127.0.0.1
    • Save, bila kamu belum punya file map_conf pada folder import, buatlah file tersebut dengan file type : All type.


    - inter_conf

    • inter_conf berisi pengaturan untuk koneksi login-server, char-server, map-server, dan logs ke database.
    • Pada file ini, kamu cukup masukan username dan password MYSQL pada masing-masing server, dan rubah nama database sesuai dengan nama database mu. (Disini saya menggunakan fn2016 sebagai nama database).

    • Save, bila kamu belum punya file inter_conf pada folder import, buatlah file tersebut dengan file type : All type.

    Selesai

    Sampai disini seharusnya kamu sudah dapat untuk menjalankan servermu. Untuk menjalankan servermu, buka folder rAthena / Hercules, lalu klik run-server.bat, atau klik satu persatu secara berurutan login-server.exe, char-server.exe, terakhir map-server.exe.

    Untuk beberapa OS Windows, biasanya akan ada jendela warning dari Firewall. Pastikan kamu mengizinkan semua network untuk menjalankan server.


    Jika berhasil, kamu akan melihat ketiga server menampilkan Status login / char / map server is ready. Selamat! kamu sudah berhasil dan bisa melanjutkan ke tahap selanjutnya.


    Troubleshooting.

    Problem : Server tidak jalan / auto close 
    Solusi : Periksa pesan error sebelum jendela tertutup, atau periksa apakah mysql sudah jalan atau belum.

    Problem : SQL Error Access Denied
    Solusi : Periksa inter_conf, apakah username dan password sudah benar atau tidak.

    Problem : File login-server.exe, char-server.exe, dan map-server.exe tidak ada
    Solusi : kamu belum benar dalam proses compile, coba ulangi.

    Menghentikan Server.
    Untuk menghentikan server, kamu cukup meng-close satu persatu jendela server. Untuk menghentikan rAsql buka folder rAsql kamu, dan klik mysql-stop.bat.

    30 Agustus 2018

    Tutorial Membuat Private Server Ragnarok Online


    Setelah artikel berisi tentang sedikit sejarah dunia Ragnarok Online, sekarang saya ingin membagikan pengalaman saya membuat PSRO (Private Server Ragnarok Online), disini saya akan membuat tutorial membuat PSRO mulai dari emulator sampai dengan rilis, dengan catatan, konfigurasi yang saya gunakan hanyalah gambaran umum pada emulator yang populer saat ini, seperti rAthena dan Hercules, karena emulator jaman sekarang pada dasarnya menggunakan basis konfigurasi yang sama, untuk lebih jelasnya, kamu bisa search di google perbedaan masing-masing emulator.

    Berikut hal-hal yang kamu butuhkan untuk membuat private server mu sendiri:
    1. Komputer atau VPS untuk server 
    Minimal spesifikasi yang dibutuhkan
    - Processor Pentium Dual Core (Setara atau versi yang lebih baru)
    - Sisa RAM 1Gb
    - Sisa Storage HDD 10Gb
    2. OS Windows atau Linux base (CentOS, Ubuntu, Fedora) 32 bit / 64 bit
    3. Webserver dan mySQL Server
    4. kRO dan Translated Client Data
    5. grf Extractor/Builder
    5. Notepad++ (wajib!) : Download
    6. Emulator, rAthena / Hercules / 3ceam (pilih salah satu)

    Optional :
    - Adobe Photoshop / GIMP
    - Microsoft Visual Basic Express
    - rAsql
    - Control Panel, FluxCP / Stargames / Ceres (FluxCP preferable)
    - Ngerti bahasa inggris (Asli, ini penting)

    Program lain yang dibutuhkan, akan penulis isi pada masing-masing tahap pengerjaan, yaitu:

    Optional :
    12. Patcher

    Terima kasih sudah membaca artikel ini, semoga bermanfaat :)
    *Link akan menyusul, setelah masing-masing artikel selesai dibuat.

    Logs :
    31/08/18 : Halaman Membangun Server Side dan Database ditambahkan.
    01/09/18 : Halaman Membangun Client Side ditambahkan.
    02/09/18 : Halaman Hexing Ragnarok EXE ditambahkan
    07/09/18 : Halaman Menjalankan Server dan Test Play ditambahkan.
    11/09/18 : Halaman Membuat akun GM ditambahkan.
    18/09/18 : Halaman Memasang / Menghapus NPC ditambahkan
    19/01/19 : Halaman Membuat NPC ditambahkan
    25/01/19 : Halaman Mengatur Command GM / Player ditambahkan.
    19/10/19 : Halaman Menambah Custom Item ditambahkan
    02/11/19 : Halaman Mengatur Spawn Mob, Warp Portal, dan Mapflag ditambahkan.
    30/11/19 : Halaman Custom Graphic ditambahkan