Tampilkan postingan dengan label ragnarok online. Tampilkan semua postingan
Tampilkan postingan dengan label ragnarok online. Tampilkan semua postingan

02 November 2019

Mengatur Spawn Monster, Portal, dan Mapflag Ragnarok Online Private Server



Pada tutorial kali ini kita akan membahas tiga hal, yaitu mengatur spawn monster, portal (warp), dan mapflag pada Ragnarok Online Private Server. Bagi kamu yang sering bermain private server, pasti pernah ketemu dengan server yang membuat map custom dengan spawn monster yang tidak biasa, seperti misalnya Gold Room dan Exp Room, biasanya,kamu harus mengklik NPC tertentu, atau ada portal khusus yang sudah dibuat untuk masuk kedalam map tersebut.  dan kadang di map ini kamu tidak bisa teleport menggunakan fly wing, atau map nya dibuat pvp mode yang diatur menggunakan mapflag.

Terkadang, ketika kamu ingin membuat server, kamu juga ingin me-rebalance server mu, dengan mengatur monster yang spawn, apalagi jika server mu pre-renewal generasi awal, kamu harus membuat banyak perubahan agar monster yang spawn sesuai dengan Episode server yang kamu buat. Dan kamu juga perlu untuk mengedit posisi portal khusus nya pada Morroc dan Sograt Field ke posisi map sebelum Episode Satan Morroc yang menghancurkan kota Morroc dan sekitarnya. Tidak hanya Morroc, biasanya kamu juga perlu mengedit portal pada kota Alberta, Izlude, Payon Old dan Prontera. Tentu saja hal itu berdampak kepada map PVP, kalau kamu ingin menggunakan map lama, maka kamu juga harus mengaktifkan settingan mapflag nya terlebih dahulu.

Tapi tenang, sekarang sudah banyak yang share settingan untuk pre-renewal, dan kamu tidak perlu repot-repot lagi mengatur semuanya, biasanya kamu hanya tinggal membuat mapcache baru dan biasanya mapflag pvp mengikuti map asli (clone dari map asli), kecuali Payon Old.

Namun, tidak ada salahnya jika kita belajar ketiga hal tersebut, karena mungkin saja kedepannya Ragnarok Online akan rombak besar-besaran lagi, atau mungkin kamu ingin membuat fitur yang unik untuk private servermu, dan nantinya kamu tidak perlu pusing lagi.


A. Spawn Monster
format :
map name,x1,y1,x2,y2 %TAB% monster %TAB% monster name %TAB% mob id,amount,delay1,delay2,event{,mob size,mob ai}

%TAB% = spasi dengan menekan tombol TAB
map name = nama map
x1, y1, x2, y2 = koordinat area spawn monster
contoh kalau kamu ingin membuat 10x10 area, masukan 120,150,130,160 (tergantung map), karena terlalu rumit untuk dijelaskan, set saja ke angka 0,0,0,0 agar monster bisa spawn dikordinat manapun.
monster name = nama monster
mob id = ID dari monster
amount = jumlah spawn, harap diperhatikan semakin banyak amount akan menambah beban kinerja server mu.
delay1 = waktu minimal sebelum monster spawn dalam milisekon (biasanya untuk boss)
delay2 = waktu maksimal sebelum monster spawn dalam milisekon (biasanya untuk boss), delay 2 tidak boleh lebih besar dari delay 1
event = digunakan untuk script atau trigger dari script lainnya menggunakan perintah "NPCName::OnEventName", seperti contohnya script fake Lord of Death di Nilfheim dan quest Kiel Hyre.
size = optional, default jika tidak diisi adalah 0 (medium)
ai = optional, 0 = default, 1 = attack/friendly (contoh thief bug), 2 = sphere (contoh marine sphere), 3 = flora, 4 = zanzou ( mob baru ? )

contoh :

pay_fild11,0,0 monster Dragon Tail 1321,50,180000
pay_fild11,0,0,0,0 boss_monster Eddga 1115,1,7200000,600000,1
pay_fild11,241,162,5,5 monster Red Mushroom 1085,3,360000,180000

- Dragon Tail adalah contoh script monster yang spawn normal, jumlahnya 50 dan spawn setiap 3 menit
- Eddga adalah contoh script boss, spawn setiap 120 - 130 menit setelah mati, kurang tau kenapa tag monsternya jadi boss_monster dan event nya 1, karena ga ada di manualnya.
- Red Mushroom adalah contoh monster yang menggunakan fixed coordinates.

Cara pasangnya sama dengan NPC

  • Buka notepad, masukan kode monster yang ingin kamu spawn, kamu dapat mencontek dari yang sudah ada.
  • save lalu beri nama misalnya spawncustom.txt lalu masukkan file tersebut misalnya kedalam folder custom didalam folder npc.
  • lalu buka file script_custom.conf atau file sejenis yang dapat meload NPC pada saat map-server berjalan. 
  • Tambahkan file npc mu, misalnya pada hercules "npc/custom/spawncustom.txt" atau pada rathena npc: npc/custom/spawncustom.txt.
  • Jalankan server mu (atau gunakan @reloadscript jika server sudah jalan) untuk mengecek monster yang sudah kamu spawn.

B. Warp Portal
Bagi sebagian orang Warp Portal adalah hal yang sepele namun pada saat ingin membuatnya malah jadi bingung sendiri. Warp Portal merupakan essensi dari sebuah game linear, dimana untuk pindah ke map lain, dibutuhkan sebuah pintu untuk mentransfer karakter yang dimainkan.

Pada Ragnarok Online, warp portal yang paling banyak orang tahu adalah berbentuk bulat berwarna putih dengan animasi seakan kita akan tersedot kedalamnya, tapi jika kita matikan effect game, hanya bayangannya saja yg bisa kita lihat.

Namun, sebenarnya ada 4 jenis portal didalam Ragnarok Online,
1. Warp ketika disentuh karakter seperti saat pindah antar map
2. Warp menggunakan jasa teleport Kafra atau NPC sejenis
3. Warp dengan interaksi NPC event, seperti misalnya pada saat quest berubah job
4. Warp dengan skill, seperti misalnya Warp Portal dan Emergency Call.

Namun pada intinya, ke 4 jenis tersebut sama-sama menggunakan perintah script "warp". Kecuali untuk warp dengan skill, yang scriptnya ada pada source emulator, bentuk warp yang lain biasanya ada didalam folder NPC. Seperti misalnya global warp untuk pindah antar map ada didalam folder warps. Untuk jasa teleport Kafra atau sejenisnya biasanya ada didalam folder city, dan kita tinggal mencari npc nya per kota. Untuk script NPC events, biasanya tergantung dari jenis NPC nya, misalnya quest berubah job ada didalam folder jobs.


1. Warp Portal untuk pindah antar map
Format :
from mapname,fromX,fromY,facing %TAB% warp %TAB% warp name %TAB% spanx,spany,to mapname,toX,toY

from mapname,fromX,fromY,facing %TAB% warp2 %TAB% warp name %TAB% spanx,spany,to mapname,toX,toY

from mapname = map asal sekaligus lokasi portal
fromX = koordinat x map asal
fromY = koordinat y map asal
facing = arah npc, karena kita tidak peduli portal akan menghadap kemana, biasanya di isi 0
warp name = nama NPC, usahakan jangan sama jika kamu tidak mengerti cara menduplikasi nama
spanx = toleransi jarak X cell dari npc
spany = toleransi jarak Y cell dari npc
to mapname = map tujuan teleportasi
toX = koordinat x map tujuan,
toY = koordinat y map tujuan
kamu bisa menggunakan koordinat 0,0 agar tujuan teleportasi random, biasanya digunakan di map pvp.

ada dua bentuk warp yaitu warp dan warp2 (lihat format), namun warp2 jarang digunakan, fungsi warp2 adalah char yang hidden bisa diwarp tanpa harus muncul terlebih dahulu.

contoh :

prontera,156,22,0 warp prt001 3,2,prt_fild08,170,375
moc_fild01,239,382,0 warp mocf006 12,1,prt_fild08,233,20

Diatas adalah contoh
1. Portal Prontera arah jam 6 yang akan memindahkan pemain ke Prontera Field 08.
2. Portal dari Sograt Field 01 ke Prontera Field 08, spanX nya 12, artinya karakter bisa langsung warp dalam jarak X = 8 tanpa harus mendekati portal.

2. Warp menggunakan jasa NPC
format :

warp "map name",mapX,mapY;
close2;

map name = nama map tujuan (isi didalam tanda quotes)
mapX = koordinat X map tujuan
mapY = koordinat Y map tujuan
close2 = digunakan agar kotak dialog NPC otomatis ditutup tanpa harus memencet tombol (close) saat karakter pindah map.

contoh :

prontera,163,191,4 script NPC Warper 100,{
 mes "[NPC Warper]";
 mes "Halo apakah kamu ingin menggunakan jasa ini?";
 next ;
 switch(select("Oke","Tidak") {
  case 1 : 
   warp "prontera",158,180;
   close2;
  case 2 :
   mes "[NPC Warper]";
   mes "Oke";
   close;
 }
}

agar lebih menarik, kamu juga bisa menambahkan biaya 2000 zeny sekali teleport

prontera,163,191,4 script NPC Warper 100,{
 mes "[NPC Warper]";
 mes "Halo apakah kamu ingin menggunakan jasa ini?";
 mes "Biayanya 2000z sekali pakai";
 next ;
 switch(select("Oke","Tidak") {
  case 1 : 
   if (zeny<2000) {
    mes "[NPC Warper]";
    mes "Maaf, uang kamu kurang";
    close;
   }
   set zeny,zeny-2000;
   warp "prontera",158,180;
   close2;
  case 2 :
   mes "[NPC Warper]";
   mes "Oke";
   close;
 }
}

Dan masih banyak variasi lain yang kamu bisa coba dari NPC teleport, seperti misalnya hanya karakter dengan level tertentu saja yang masuk, atau misalnya hanya GM saja yang bisa menggunakan NPC tersebut. Perlu diperhatikan, pastikan kamu sudah mencoba map dan kordinat sebelum mencantumkan nya didalam script. Karena terkadang, kamu tidak memiliki map yang ada didalam script, dan sering kali tidak ada script error yang muncul pada konsol map-server.

Untuk Warp dengan Event NPC, kamu bisa mencontohnya dari NPC yang sudah ada, karena masing-masing NPC mempunyai logika program yg berbeda-beda walaupun sebenarnya perintah yang digunakan tidak jauh beda.


C. Mapflag
Flag bisa berarti bendera, tapi dalam bahasa inggris flag bisa berarti menandakan sesuatu yang mutlak. Mapflag, berarti menandai map, fitur ini sangat berguna mengkategorikan suatu map untuk satu keperluan. Dalam Ragnarok Online, ada banyak bentuk mapflag, seperti misalnya no save, no memo, no skill, dan lain-lain. Mapflag ini juga bisa digunakan untuk membatasi penggunaan item seperti misalnya kita tidak bisa menggunakan fly wing di map Juno, map PvP, dan map GvG.

Lalu apa gunanya mapflag untuk Ragnarok Online private server? banyak sekali kegunaannya, seperti misalnya untuk kamu yang ingin membuat ruang vending, ruang event, dan lain-lain. Cara penggunaannya pun cukup mudah, sama seperti membuat script warp, kamu hanya perlu menambahkan 1 baris perintah. Tentu saja harus dengan perintah yang sudah terdaftar dengan source.

Format :

map name %TAB% mapflag mapflagtype

map name = nama map
mapflagtype = perintah mapflag yang akan digunakan
terkadang ada option tambahan seperti misalnya di battleground setelah mapflagtype

Contoh :

prontera mapflag nosave
prontera mapflag nomemo
prontera mapflag noreturn
prontera mapflag noteleport

Pada contoh diatas, pada map prontera, berarti ketika player ada didalam map prontera,
- nosave - player akan kembali ke save point jika logout di prontera
- nomemo - tidak bisa menyimpan memo di map prontera
- noreturn - player tidak bisa menggunakan item Butterfly Wing dan sejenisnya
- noteleport  - player tidak bisa menggunakan item Fly Wing dan sejenisnya

Didalam folder npc/mapflag kamu bisa menemukan mapflag standar yang ada didalam server, jika kamu berniat untuk membuat mapflag sendiri, ada baiknya untuk membuat file baru dan diletakkan pada folder baru, lalu didaftarkan pada script_custom.conf

Untuk melihat list dari perintah mapflag dan penjelasannya, kamu bisa membuka folder doc lalu cari file mapflag.txt (di hercules ga ada). Dan perlu diperhatikan, tidak semua perintah sama pada emulator yang berbeda, seperti misalnya di Hercules ada perintah zone, di rAthena ada tapi cara penggunaannya aga berbeda.

Sekian tutorial kali ini, semoga bermanfaat !

25 Januari 2019

Mengatur GM Command dan Player Command Ragnarok Online Private Server

Dalam bermain Ragnarok private server, ga lengkap rasanya kalo ga ada fitur custom command atau yang biasa orang sebut @command. Biasanya beda rate server, beda pula command yang disediakan, seperti misalnya pada low rate server, hanya disediakan @showtime dan pada high rate server biasanya pasti tersedia @go dan @autoloot
"Enak ya jadi GM bisa semua command"
Pasti sering juga kalian mendengar keluhan seperti itu (atau kamu pasti begitu), sayang nya, GM pun juga manusia, dewa didalam game tapi tetap inferior di real life. Tergantung dari jabatannya juga, ada GM yang cuma bisa hide dan memantau (kepoin) para player, ada GM yang yang cuma ngejawab keluhan player, dan lain-lain. Sayangnya seorang GM belum tentu punya akses server penuh. Dimana biasanya database hanya bisa diakses melalui address khusus dan kita harus tau ID dan Passwordnya.

Nha, kalau kasusnya ada GM yang suka bagi-bagiin item dan zeny, terus ngerubah All Stats jadi 65K, biasanya sih itu karena management server nya buruk, yah bisa dibilang pengetahuannya kurang untuk masalah player command ini.

Jadi, disini kita akan membahas bagaimana caranya untuk mengatur settingan untuk command GM tersebut. Pada tutorial sebelumnya (Baca disini : https://adani-game.blogspot.com/2018/09/membuat-akun-gm-ragnarok-online-private.html), saya sudah mengajarkan bagaimana cara mengatur level GM, dan mengatur agar GM (bukan owner) tidak curang. Disini saya akan menjelaskan untuk menambahkan command yang bisa dipakai untuk player juga.

Sebelum memulai, perlu diingat bahwa Player selalu memiliki Level GM 0 (nol), GM Level 1 sudah dianggap "Super Player" pada configurasi server. dan Level GM lebih tinggi biasanya bisa menggunakan perintah Level GM yang lebih rendah, jadi perlu diperhatikan nanti agar tidak ada duplikasi command. Duplikasi command tidak menyebabkan error, tapi agar lebih rapih, usahakan tidak ada duplikasi command yg sama berulang-ulang.

Buka folder conf lalu buka file groups.conf

 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
 id: 0 /* group 0 is the default group for every new account */
 name: "Player"
 level: 0
 inherit: ( /*empty list*/ )
 commands: {
  changedress: true
 }
 permissions: {
  /* without this basic permissions regular players could not 
  trade or party */
  can_trade: true
  can_party: true
  command_enable: true
  attendance: true
 }
},
{
 id: 1
 name: "Super Player"
 inherit: ( "Player" ) /* can do everything Players can and more */
 level: 0
 commands: {
  /* informational commands */
  commands: true
  charcommands: true
  help: true
  rates: true
  uptime: true
  showdelay: true
  exp: true
  mobinfo: true
  iteminfo: true
  whodrops: true
  time: true
  jailtime: true
  hominfo: true
  homstats: true
  showexp: true
  showzeny: true
  whereis: true
  /* feature commands */
  refresh: true
  noask: true
  noks: true
  autoloot: true
  alootid: true
  autoloottype: true
  autotrade: true
  request: true
  go: true
  breakguild: true
  channel: true
  langtype: true
 }
 permissions: {
  attendance: false
 }
},

Sesuai penjelasan diatas, id 0 adalah grup (level GM) default untuk semua akun, dan Command GM yang biasanya dipakai di Ragnarok private server diambil dari grup id 1 (Super Player). Jadi untuk menambahkannya, kamu cukup mengcopy paste command yang ingin kamu tambahkan ke id 0 (player). Seperti misalnya, saya ingin player bisa menggunakan @go, @autoloot, dan @alootid. Contohnya seperti berikut :


 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: {
  go: true
  autoloot: true
  alootid: true
 }
 permissions: {
  /* without this basic permissions regular players could not 
  trade or party */
  can_trade: true
  can_party: true
  command_enable: true
  attendance: true
 }
},

Berbeda dengan script NPC, kamu tidak perlu menambahkan tanda titik koma ( ; ) pada akhir perintah. True adalah tanda bahwa perintah dapat digunakan, jika kamu tidak menginginkan player menggunakan perintah tersebut, maka kamu tinggal mengganti nya menjadi false.

Begitu pula untuk GM, kamu bisa membuat group ID baru, dengan mengambil salah satu dari contoh yang sudah ada. Lalu memberikan command seperlunya saja. Yang paling penting adalah bagaimana caranya agar GM tersebut tidak curang. Misalnya kalau kamu memberikan perintah @zeny, kamu harus membuat GM tersebut tidak bisa menggunakan #zeny kepada player.
NOTE : Command menggunakan @ digunakan untuk diri sendiri, sedangkan # digunakan untuk memberikan efek command kepada player karakter lain, misalnya #zeny Namaplayer 10000, maka zeny player dengan nama Namaplayer akan bertambah 10.000.


 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
{
 id: 4
 name: "Event Manager"
 inherit: ( "Support" )
 level: 1
 commands: {
  monster: true
  monstersmall: true
  monsterbig: true
  killmonster2: true
  cleanarea: true
  cleanmap: true
  item: [true, false]
  zeny: [true, false]
  disguise: [true, true]
  undisguise: [true, true]
  size: [true, true]
  raise: true
  raisemap: true
 }
 log_commands: true
 permissions: {
  can_trade: false
  any_warp: true
 }
},
Pada contoh diatas, Perhatikan :
baris 13 dan 14, sebelah kiri true dan sebelah kanan false, artinya GM dengan group ID tersebut dapat menggunakan @zeny dan @item untuk dirinya sendiri, tapi tidak bisa menggunakan #zeny dan #item untuk karakter lain.
baris 15 dan 16, adalah contoh format bahwa GM dengan group ID tersebut dapat menggunakan command disguise dan undisguise kepada dirinya dan juga karakter lain.

Perhatikan pula baris ke 5, yaitu pada line level. Level disini adalah GM Level pada versi eAthena terdahulu. Kamu harus mencari revisi eAthena atau rAthena lama untuk melihat list command masing-masing GM level untuk merubah settingan ini. Kalau kamu tidak mengerti, rubah menjadi 1 seperti diatas.

Pada baris ke 23, penggunaan permission can_trade: false berarti karakter dengan group ID tersebut tidak akan bisa trade antar player, juga tidak bisa menaruh item di Cart dan Storage.

Sampai disini tutorial mengatur Command untuk player dan GM pada Ragnarok Online Private Server. Kecurangan ada saja terjadi pada Ragnarok private server (bahkan mungkin pada Official server), semua tergantung dari management server tersebut. Well, penulis pernah ketahuan, dan akhirnya servernya harus tutup. Jadi, jika kamu ingin membangun sebuah server yang baik, berusalahan untuk membuat management yang baik pula.

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.