Tampilkan postingan dengan label build ragnarok online private server. Tampilkan semua postingan
Tampilkan postingan dengan label build ragnarok online private server. Tampilkan semua postingan

30 November 2019

Custom Graphic Ragnarok Online Private Server

Sebelum memulai tutorial ini, pastikan kamu memiliki kemampuan untuk menggunakan software pengolah gambar seperti misalnya Adobe Photoshop, dan tutorial ini kebanyakan menggunakan Adobe Photoshop karena saya lebih familiar dengan software ini. Kamu juga bisa menggunakan software open source seperti misalnya GIMP. Selain untuk mengolah gambar, GIMP juga bisa digunakan untuk membuat icon untuk file exe.

Untuk membuat Ragnarok Online private server sendiri, biasanya kita pasti akan menentukan nama server dan juga logo. Nama server dan logo sudah pasti akan kita gunakan pada media promo seperti website dan sosial media, juga kita gunakan pada website dan didalam game itu sendiri. Dalam client side Ragnarok Online, ada beberapa file yang kita bisa gunakan sebagai Trademark dari server kita. Diantara nya adalah :

A. Screenshot logo (scr_logo.bmp)
Screenshot logo adalah logo yang akan ditampilkan ketika player menekan tombol Print Screen (Prnt Scrn) pada keyboard, defaultnya cuma tulisan ragnarok.co.kr atau kalau di indonesia ragnarok.co.id (jaman masih awal-awal di pegang lyto, kalo yg sekarang saya ga hapal). Logo ini selalu ada di kanan bawah layar, dan formatnya adalah BMP 24bit.

Untuk membuat logo ini, yang perlu diperhatikan adalah ukuran gambar, agar seimbang, jangan membuat ukuran yang terlalu besar. Asumsinya adalah Player biasanya menggunakan resolusi 800x600, jadi agar player tidak risih dengan screenshot kita, ukuran gambar maksimal adalah 200x150 atau jika kita ambil tingginya, bisa juga 200x300 (dalam ukuran pixel)

Contoh :
Disini saya akan membuat logo screenshot dengan ukuran 200x300
  • Buat file baru dengan ukuran 200 x 300 (pixel)
  • Agar nanti bagian yg kosong bisa transparant, pada layer Background atau layer paling bawah kita harus menggunakan warna Magenta, RGB = 255,0,255 atau #ff00ff
  • Pilih Paint Bucket Tools, lalu pada color picker, ganti warna RGB ke 255,0,255 atau isi pada kolom CSS color dengan #FF00FF
Gambar Color Picker properties.
  • Setelah itu kamu bisa langsung masukan logo atau gambar yang kamu inginkan
Masukan logo dan gambar agar lebih menarik.
  • Setelah selesai, Save As (CTRL+SHIFT+S) isi nama dengan scr_logo dan pilih format BMP
  • Saat muncul jendela BMP Option, pilih Advanced Modes

  • Lalu pilih 24 bit (R8 G8 B8) lalu klik Ok.

NOTE : Untuk beberapa software lain kamu bisa langsung memilih 24bit tanpa harus menggunakan Advanced Modes atau menu serupa. Cara ini berguna untuk menghindari bug render dimana file yg dihasilkan tidak terbaca oleh hexed client.

Warna Magenta hampir digunakan bermacam-macam software untuk warna transparant pada file gambar berformat BMP. Texture sprite, texture map, dan juga emblem Guild menggunakan warna Magenta untuk bagian transparant.

Terakhir tinggal mencoba nya, 
1. Tes menggunakan folder Data (Jika hexed client menggunakan patch read data before grf)
  • Buka folder Ragnarok Online mu, lalu buka folder Data (Jika tidak ada, buat dulu)
  • Buat folder texture
  • Copy paste file scr_logo.bmp mu kedalam folder texture
  • Jalankan Ragnarok Online (tidak harus menyalakan server), lalu tekan tombol screenshot pada keyboard.
  • Buka folder ScreenShot untuk melihat hasilnya. 

2. Tes menggunakan Custom GRF
  • Buka custom GRF private server mu menggunakan gryff_svn atau GRF Builder
  • Buka folder texture
  • Jika tidak ada file scr_logo.bmp, langsung drag scr_logo.bmp milikmu ke folder texture lalu Save.
  • Jika ada file scr_logo.bmp, delete lalu save, tunggu sampai repack selesai. Setelah itu drag file scr_logo.bmp yang sudah kamu buat kedalam folder texture. Jangan lupa disave lagi.
  • Setelah proses repack selesai, jalankan Ragnarok Online mu (tidak harus menyalakan server), lalu tekan tombol screenshot pada keyboard.
  • Buka folder ScreenShot untuk melihat hasilnya.
Contoh custom screenshot logo yang berhasil dipasang dengan resolusi gambar 200x300 (pixel) pada resolusi window 800x600 :

Logo screenshot custom yang berhasil dipasang, logo selalu muncul di kanan bawah
(0 dari x dan y di kanan bawah)
NOTE :
  • Jika tampilan terdapat noise atau ada bintik-bintik, biasanya dikarenakan gambar yang kamu gunakan tidak rapih.
  • Kalau kamu menggunakan font yang tipis untuk logo, biasanya noise akan selalu ada, dapat diakali dengan cara yang saya pakai yaitu menambahkan blank space seperti contoh pada tulisan Ragnarok Online pada logo screenshot yang saya buat.
  • Ingat logo screenshot selalu berada di kanan bawah layar, dan ukuran logo tidak akan berubah walaupun resolusi windows diperkecil atau diperbesar.
  • Ukuran logo screenshot tidak ada batas minimal atau maksimal, kamu bisa membuat ukuran sesuai selera mu.


B. Login screen (Login Background)
Login Screen adalah gambar background yang kita lihat saat ingin login sebelum login kedalam game. Dengan sedikit pengaturan, kita bisa membuat login screen tidak membosankan dan lebih informatif, walau sebenarnya tidak terlalu penting untuk dirubah.

Format login screen biasanya :
- Resolusi 4:3, misal 800x600, 1024x768 (Rekomendasi pakai 1024x768)
- dari resolusi 4:3 ini, biasanya dipecah menjadi 12 gambar (4x3), misal kalau kamu pakai gambar ukuran 1024x768, artinya kamu harus memecahnya menjadi 12 bagian dengan masing-masing resolusi file 256x256
- Format file harus di save ke BMP 24bit
- Pada official server, ada dua login screen, namun login screen ke 2 jarang sekali muncul.

NOTE : Perlu diperhatikan, dari 12 pecahan file, usahakan total size tidak terlalu besar, misal tidak lebih dari 2Mb, karena dapat menyebabkan bottle neck / lag. Walaupun sekarang kebanyakan komputer sudah canggih, tapi engine Ragnarok Online sudah masuk dalam hitungan relik atau jadul.

Ada 2 cara untuk menambahkan custom login screen untuk private server mu, yaitu :
1. Memecah gambar satu persatu dengan program Adobe Photoshop
  • Siapkan file gambar yang akan digunakan untuk login screen, berukuran 1024x768 pixel yang akan dipecah.
  • Agar gambar bisa dibagi menjadi 12 bagian (4x3), maka dengan sedikit matematika, kita akan bagi 1024x768 dengan 4:3 yang hasilnya yaitu 256x256. jadi kita bisa menentukan garis bantu (Guide), yaitu vertikal = 256, 512, 768, dan horizontal = 256 dan 512
  • Caranya Buat garis bantu, klik View - lalu pilih New Guide
  • Lalu pada kolom Position, isi value sesuai rumus satu persatu sesuai Orientation nya.
  • Jika kamu tidak salah input, maka hasilnya akan seperti dibawah ini
Garis berwarna biru muda (cyan), adalah garis bantu yang kita buat

  • Sekarang kita mulai untuk membaginya, buat file baru berukuran 256 x 256
  • Pada tahap ini kita akan memotong (cut) satu persatu bagian dan mempaste nya ke file 256x256
  • Pada file Login Screen, buka gembok (lock) pada layer Background dengan cara mengklik 2x icon gembok pada layer, tujuannya saat kita potong, grid layer bisa terlihat untuk memudahkan pekerjaan kita agar lebih presisi (kamu bisa skip langkah ini)
  • Agar lebih mudah kita akan menggunakan Rectangular Marquee Tools, tekan tombol M pada keyboard, lalu pada toolbar diatas, klik Style - lalu pilih Fixed Size, isi Width dan Height dengan angka 256
  • Klik pada Kolom yg sudah dibuat sampai garis marquee terlihat, lalu tekan tombol CTRL+X (cut), buka file 256x256, paste dengan tombol CTRL+V (langkah ini diulang sampai dapat 12 potongan, agar mudah buat berurutan dari kiri atas ke kanan atas dan seterusnya)
  • Setelah mendapat 12 potongan (atau 12 layer), kita akan save satu persatu dengan format BMP 24 bit (lihat kembali caranya pada tutorial membuat Screenshot logo), Jika kamu berurutan saat memotong gambar, maka layer paling atas adalah gambar nomor 12. Mulai dari layer paling atas, save dengan format BMP 24 bit, dengan nama berurutan mulai dari 12 sampai 1. misalnya, gambar-12.bmp, gambar-11.bmp, gambar-10.bmp, dan seterusnya.


  • Untuk menyimpan satu persatu dengan gambar yang berbeda, setelah kamu save gambar pertama, klik tanda mata pada layer yang sudah disave, lalu ulangi sampai kamu dapat 12 file. Usahakan untuk menyimpan file ke folder baru.
  • 12 file yang sudah selesai dibuat
Hasil dari gambar yang sudah dipotong-potong menjadi 12 bagian
Sekarang kita tinggal mengganti Nama file (rename file) dari masing-masing gambar sesuai nomor urut.
1 = t_배경1-1
2 = t_배경1-2
3 = t_배경1-3
4 = t_배경1-4
5 = t_배경2-1
6 = t_배경2-2
7 = t_배경2-3
8 = t_배경2-4
9 = t_배경3-1
10 = t_배경3-2
11 = t_배경3-3
12 = t_배경3-4

Sehingga semua file menjadi seperti gambar dibawah ini

2. Memecah gambar menggunakan login background generator dari rAthena
Memotong satu persatu dengan program pengolah gambar adalah satu-satu nya cara untuk menambahkan custom login mu sendiri, dan cara ini berguna ketika kamu tidak ada internet. Namun, sekarang sudah banyak login screen generator yang sudah dirilis, walau banyak yang sudah menghilang dari dunia maya.

Dengan menggunakan login background dari rAthena, kamu bisa menghemat lebih banyak waktu. kamu tinggal menyiapkan login screen yang akan kamu gunakan

  • Siapkan file yang akan digunakan sebagai login screen
  • buka browser dan masuk ke alamat http://rathena.sourceforge.net/tools/login_background/
  • Pada point nomer 1, pilih dan upload file yang akan kamu gunakan
  • Pada point nomer 2, pilih "First Login Background" (Dengan asumsi kamu menggunakan patch Only First Login Background)
  • pada point nomer 3, klik Convert it!
  • Setelah itu akan ada pilihan untuk mendownlad  login_background.grf
  • Selesai di download, pindahkan ke folder Ragnarok Online mu, lalu buka file DATA.ini, tambahkan value 1 = login_background.grf (prioritas dibawa pertama), jangan lupa ubah value grf yang lain, tidak boleh ada value angka yg sama pada DATA.ini. Jika sudah selesai, Save.


Selesai dari salah satu cara diatas, Sekarang kita tinggal mencoba untuk menjalankan nya pada server,
Tes menggunakan folder Data (Jika hexed client menggunakan patch read data before grf)
  • Buka folder Ragnarok Online mu, lalu buka folder Data (Jika tidak ada, buat dulu)
  • Buat folder texture
  • lalu buat folder À¯ÀúÀÎÅÍÆäÀ̽º
  • Copy paste file ke 12 file mu kedalam folder À¯ÀúÀÎÅÍÆäÀ̽º
  • Jalankan Ragnarok Online (tidak harus menyalakan server), dan kamu bisa langsung melihat hasilnya
Tes menggunakan Custom GRF
  • Buka custom GRF private server mu menggunakan gryff_svn atau GRF Builder
  • Buka folder texture, kemudian buka folder 유저인터페이스
  • Jika tidak ada file dengan awalan t_배경 , langsung drag ke 12 file milikmu ke folder 유저인터페이스 lalu Save.
  • Jika ada file dengan awalan t_배경, delete terlebih dahulu lalu save, tunggu sampai repack selesai. Setelah itu drag file ke 12 file yang sudah kamu buat kedalam folder 유저인터페이스. Jangan lupa disave lagi.
  • Setelah proses repack selesai, jalankan Ragnarok Online mu (tidak harus menyalakan server),dan kamu bisa langsung melihat hasilnya.
Contoh login screen yang sudah berhasil dipasang :

NOTE :
  • Only First Login Background, adalah patch untuk hexed client agar client membaca hanya login screen pertama. Login screen didalam data.grf official ada dua, patch ini bisa kamu terapkan agar background yang muncul hanya yg pertama, walaupun jarang sekali login screen kedua muncul saat game dijalankan.
  • Jika kamu memotong file manual dengan Photoshop atau aplikasi sejenisnya, dan pada saat game dibuka terlihat garis putih, artinya potongan gambarmu ada yang tidak pas.
  • Perlu diingat kembali, untuk tidak membuat ke 12 pecahan file login screen terlalu besar, agar tidak terjadi bottle neck/lag pada saat game dimulai.
  • Ukuran rekomendasi login screen adalah 1024x768 (skala 4:3), namun, tidak seperti logo screenshot, login screen otomatis menjadi besar atau kecil menyesuaikan resolusi game.

C. Loading Screen
Loading screen adalah transisi yang kita lihat pada saat kita pindah map. Dulu loading screen berisi promosi dan event yang sedang berlangsung, sekarang seiring semakin canggih spesifikasi PC, kamu kadang tidak bisa melihat loading screen sama sekali. Tapi lain cerita jika player membuka banyak client sekaligus, karena loading pasti akan bertambah berat.

Untuk menambah loading screen sendiri, kamu harus menyiapkan :
  • File berformat JPG
  • Resolusi gambar dengan skala 4:3, misalnnya 800x600, 1024x768
  • Nama file bebas, tapi agar mudah diingat, gunakan nama seperti pada official server, yaitu loading01.jpg, loading02.jpg, loading03.jpg, dan seterusnya.
  • Batas maksimal loading screen yang didaftarkan pada clientinfo.xml adalah 6 dan 12 tergantung LangType
Setelah kamu menyiapkan gambar yang akan digunakan, masukan ke folder texture -- À¯ÀúÀÎÅÍÆäÀ̽º (sama seperti login screen), lalu tambahkan loading yang kamu buat di file clientinfo.xml mu. Setelah itu kamu bisa langsung mencobanya dengan menjalankan server.
Contoh loading screen yang ditambahkan, total 9 file.

D. Patcher Skin
Skin default dari patcher yang kita download biasanya memang membosankan, tapi juga bisa mengganti skin dan tentu saja merubah ukuran defaultnya. Ada dua patcher yg sering digunakan oleh developer ragnarok online private server, yaitu Thor Patcher dan Jikari Patcher. Keduanya memiliki kelebihan dan kekurangan masing-masing. Seperti misalnya Thor Patcher bisa menggunakan background yang transparant, dan Jikari Patch tidak bisa.

Untuk mengganti skin, biasanya kita hanya perlu merubah file bg.bmp pada Thor Patcher, dan skin.bmp pada Jikari Patcher, kamu juga bisa mengganti gambar tombol-tombol pendukung, seperti Start Game, dan lain-lain.

Contoh Skin patcher yang sudah diganti :
Contoh patcher skin yang dirubah ke resolusi 700x500 (mohon maaf saya watermark)
Untuk tutorial yang lebih detail, cek artikel tutorial patcher.


E. Game UI (Misalnya login window, status window, dan lain-lain)
Game UI (User Interface) adalah segala bentuk jendela yang memuat informasi dimana pengguna berinteraksi terhadap game, menggunakan input seperti mouse atau keyboard. Karena media ini banyak berupa visual sehingga user bisa melihat, tentu kita bisa merubah gambar yang sudah ada dengan gambar yang kita inginkan.

Contoh fitur Game UI yang paling populer pada Ragnarok tahun 2010 kebawah, adalah Skin. Kita bisa mengganti Skin sesuai keinginan kita dengan skin yang sudah buat atau kita download di dunia maya. Sayangnya custom skin semakin lama semakin menghilang, bahkan Scribling Kids yang selalu ada saat kita mendownload installer ragnarok online, tidak pernah ada pembaharuan padahal sekarang game UI ragnarok online sudah banyak yg berubah.

Mengubah semua gambar game UI mungkin akan merepotkan, tapi kamu bisa merubah bagian tertentu saja. Contoh Game UI yang dirubah :

Latar berwarna hijau pada header jendela adalah contoh game UI yang sudah dirubah.
Contoh design win_login.bmp (login window)
Pada data.grf ragnarok online awal, semua file game UI ada pada folder basic_interface, untuk client diatas 2015, beberapa file sudah dipindahkan, seperti misalnya file win_login.bmp sekarang pindah ke folder login_interface. Semua format game UI adalah BMP 24 bit, dan menggunakan warna magenta untuk gambar yang transparant (misalnya icon, thumbnail item, dan lain-lain).


F. Map Texture
Bagi kamu player private server pada tahun 2008 sampai 2010an, jika kamu pergi ke tengah Prontera, pasti kamu pernah melihat ada minimarket Lawson di sebelah kanan bawah air mancur. Minimarket Lawson ini adalah salah satu contoh modifikasi map texture menggunakan custom model. Tapi pada dasarnya, kamu bisa menambahkan graphic custom hanya dengan memodifikasi texture nya. Caranya kamu hanya perlu mencari folder dari map yang ingin kamu edit pada grf, lalu kamu edit menggunakan Photoshop atau sejenisnya.

Namun, biasanya dalam satu map, terdapat texture yang digunakan berkali-kali pada map tersebut. Jadi begitu kamu mengedit salah satu texture, duplikasi dari gambar yang kamu edit muncul ditempat yang tidak diinginkan. Untuk itu kita perlu menggunakan software khusus untuk mengedit map Ragnarok Online.

Software untuk membuat atau mengedit map Ragnarok Online adalah, Browedit yang dibuat oleh seseorang bernama Borf. Untuk menggunakan software ini Graphic Card PC atau Laptop kamu harus support OpenGL 2.0 (biasanya PC/Laptop modern sudah support). Namun, sayangnya banyak web atau forum yang memberikan tutorial menggunakan Browedit banyak yang sudah mati, bahkan website aslinya sekarang sudah tidak dapat diakses.

Karena saya juga hanya sekali-sekali menggunakan Browedit dan itupun sudah lama sekali, maka untuk tahap ini, mohon maaf sekali saya tidak bisa memberikan tutorial untuk tahap ini, tapi kalau kamu ingin mencobanya, mendownload software ini.


https://github.com/Borf/browedit

config.borf.json with your current RO directories. 
Input with your keyboard your config name once you open browedit.exe and asks for it. 
Your graphic card must support OpenGL 2.0+~ to run this software.


G. Banner Cash Shop / Item Mall 
Pada client Juni 2018 keatas, banyak UI yang dirubah oleh Gravity, salah satunya adalah Cash Shop atau Item Mall. Tampilannya lebih besar dari Cash Shop sebelumnya, item list nya lebih simple, dan menunya lebih informatif. Dulu, untuk melihat event Recharge atau Cash Shop, kita hanya bisa melihatnya di web atau forum, namun, sekarang dengan menggunakan Banner, player dapat lebih cepat mengetahui event apa yang sedang berjalan.

Sama seperti Loading Screen, kita perlu membuat gambar yang akan digunakan untuk banner, dan memberikannya nama yang bisa didaftarkan pada file config yang sudah ditentukan.
  • Ukuran gambar 531 x 51 pixel (beberapa saya lihat ada yang 551x51 pixel)
  • Format harus BMP 24bit.
  • letak folder pada data grf = texture/À¯ÀúÀÎÅÍÆäÀ̽º/cashshop
Untuk menambahkan custom Banner Cash Shop mu sendiri, kamu perlu mengedit beberapa file.
1. tb_cashshop_banner.lub
- Buka folder LuaFiles514 -- Lua Files -- datainfo
- Lalu buka file tb_cashshop_banner.lub dengan Notepad++
- Format :
 [1] = {
  "Nama-File.bmp",
  "Target Link (misal : http://google.com)"
 },

- Karena isi file berbeda-beda, contoh dari data Translation yang di share Asheraf

- Contoh diatas, ada 3 banner yang akan tampil bergantian pada saat  menu Cash Shop dibuka.
- Target link dibawah nama file adalah link yg akan dituju ketika banner di klik.
- Setelah save, jangan lupa update custom data.grf mu

Contoh custom Banner yang berhasil dipasang

2. Edit msgstringtable.txt (Optional)
Tujuan mengedit msgstringtable.txt adalah agar ketika user mengklik tombol Charging, maka game akan mengarahkan ke web pembayaran yang kamu sudah tentukan, walaupun isi halamannya hanya berupa info cara transfer.

- Pertama, jalankan Server Ro mu, lalu login ke dalam game.
- Buka Cash Shop, lalu klik tombol Charging di kanan atas
- Setelah diklik, browser akan terbuka, copy link pada address bar
- Buka custom grf mu, atau cari mentahannya di translation data yg kamu punya
- buka msgstringtable.txt dengan notepad atau notepad++
- buka search (ctrl + F) dan paste link yg sudah kamu copy
- Ganti dengan halaman web yang kamu inginkan.
- Setelah save, jangan lupa update custom grf mu.


Sampai disini, semoga artikel ini bermanfaat dan dapat membantu menjadikan servermu menjadi lebih menarik, Happy RO !

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.

19 Januari 2019

Membuat NPC Ragnarok Online Private Server

Setelah membuat Ragnarok Online mu sendiri, dan selesai implementasi beberapa NPC, kamu biasanya akan merasa kurang puas, apalagi jika pernah bermain PSRO buatan orang lain. Kamu ingin meniru fitur yang ada pada private server lain, atau ingin membuat fitur sendiri.

Script NPC pada Ragnarok private server biasanya menggunakan bahasa pemrograman C. dan variable nya dapat kamu cek folder doc di dalam file script_commands.txt pada masing-masing emulator. Atau kamu bisa mencontek dari script yang sudah ada dan memofikasi sendiri script tersebut. Seperti misalnya NPC healer di Inn, biasanya hanya memberikan HP full setelah kamu membayar sejumlah zeny, kamu bisa menambah efeknya, selain membuat HP karakter penuh, karakter akan mendapatkan buff seperti Increase AGI dan Blessing.

Membuat NPC tergantung pada kebutuhan kamu, untuk membuat npc seperti Warper kamu bisa mencontek NPC Kafra dan mengcopy paste untuk area tambahan yang kamu inginkan, namun untuk membuat NPC Buffer, kamu harus melihat command script skill yang akan digunakan. Intinya membuat NPC itu bisa saja sederhana, tapi bisa jadi sulit, tergantung dari basic pemrograman yang kamu pelajari.

Dalam membuat NPC, yang biasanya kita cari pertama kali adalah kordinat lokasi NPC nya akan dipasang dengan menggunakan /where pada kotak chat, lalu kemudian mencari Sprite nya. Lalu menggunakan format seperti diberikut :

mapname,x,y,z[tab]script[tab]NPCname[tab]NPC_ID,{

Note:
Mapname = nama map
x,y = koordinat x dan y npc
z = arah npc menghadap, menggunakan angka dari 0 - 8 tidak searah jam
[tab] = tabulasi/break, harus menggunakan tombol Tab pada keyboard.
script = variable yang menunjukan kalau ini adalah script
NPCname = nama NPC (Bebas)
NPC_ID = ID Sprite NPC yang akan digunakan, tidak bisa menggunakan sprite Job, dan tidak disarankan menggunakan ID Sprite monster.

tanda } dan { digunakan sebagai pembuka dan penutup script (maaf saya tidak tahu istilah bener nya di pemrograman)

Untuk mencari sprite NPC yang kamu ingin pakai, kamu bisa melihat web http://nn.ai4rei.net/dev/npclist/?qq=8
NOTE: jika NPC yang kamu mau tidak muncul pada saat reloadscript, artinya GRF yang kamu pakai tidak support NPC tersebut.

Berikut akan saya ajakarkan membuat beberapa NPC sederhana, yaitu NPC Warper, NPC Buffer, dan NPC Quest. Untuk mempermudah pekerjaan mu. Gunakan Notepad++ dan rubah Languages menjadi C.



A) NPC Warper
Kebanyakan Ragnarok private server di Indonesia, membuat ruang khusus seperti Vending Room atau Zeny Room untuk memudahkan playernya bermain. berikut kita akan buat npc yang mirip dengan situasi tersebut. yang pertama kali kamu butuhkan adalah

1. Catat kordinat NPC Warper
2. Tentukan NPC yang akan dipakai
3. Tentukan Nama NPC
4. Catat kordinat target map yang dituju saat karakter diwarp.

Disini saya akan menggunakan map prontera untuk lokasi NPC, map morroc sebagai map tujuan warp, dan menggunakan npc Kafra (117).


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
prontera,162,191,5 script NPC Warper 117,{
 mes "[Warper NPC]";
 mes "Halo, Apakah kamu mau pindah ke ruang khusus?"
 next;
 menu "Pindah",pindahmap,"Tidak, terima kasih",Notmove;

 pindahmap:
  warp "morocc",159,91;
  end;
 Notmove:
  mes "[Warper NPC]";
  mes "Silahkan kembali lagi jika kamu ingin menggunakan service kami";
  close;
}

NOTE : Urutan angka disebelah kiri hanya berfungsi sebagai urutan, tidak perlu diketik!

Pada contoh script diatas, saat kamu mengklik NPC tersebut, maka akan keluar dialog box yang menanyakan apakah kamu akan menggunakan fitur NPC ini. Penggunaan next berfungsi agar dialog NPC tidak memanjang kebawah, sehingga mudah untuk dibaca. Next didalam game berupa tombol bertuliskan next (atau lanjut di idRO) yang dapat player klik.

Menu berfungsi untuk memunculkan opsi yang dapat di pilih oleh player. Pada bahasa pemrograman ini merupakan suatu logic yang biasa, dimana setelah kamu mengklik salah satu opsi, biasanya akan jump atau lompat ke tag option tersebut, pada case diatas, jika kamu memilih Pindah, maka script akan mencari tag pindahmap kemudian memproses script selanjutnya yaitu warp ke map morroc. Menu adalah bentuk sederhana untuk membuat opsi pilihan, selain menggunakan menu, biasanya bisa menggunakan switch, akan saya beri contoh pada script selanjutnya.

Untuk menutup dialog NPC, biasanya kita akan mengklik tombol close, untuk itu diperlukan perintah close. namun jika kamu menggunakannya pada saat warp, tentu akan tidak nyaman jika player yang berpindah tempat harus mengklik tombol close terlebih dahulu, maka itu digunakan perintah end. Perintah end akan otomatis menutup/mengakhiri percakapan dengan NPC.

Simpan dengan nama file misalnya testwarper.txt

B) NPC Buffer
Tidak lengkap rasanya jika sebuah private server tidak ada NPC Buffer yang memudahkan player dalam bermain, walau banyak juga server yang meniadakan fitur ini dengan alasan membunuh job Healer/Buffer seperti Priest.

Berbeda dengan NPC Warper yang bisa kamu contek dari Portal dan Kafra, Buffer tidak dapat ditemukan di official server, tapi mari kita lihat NPC healer di dalam Inn pada folder npc/merchants.txt, karena prontera agak ribet pake function, kita ambil contoh Lighthalzen.


 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
lhz_in02,230,284,4 script Hotel Employee#01 4_M_04,{
 mes "[Hotel Employee]";
 mes "Welcome to";
 mes "the Royal Dragon,";
 mes "where you can find the";
 mes "finest accomodations";
 mes "and the best service.";
 next;
 switch(select("Save Point", "Rest - 5,000 zeny", "Cancel")) {
 case 1:
  savepoint "lhz_in02",209,275;
  mes "[Hotel Employee]";
  mes "Thank you, your";
  mes "Respawn Point has";
  mes "been saved here in";
  mes "the Royal Dragon.";
  close;
 case 2:
  if(Zeny < 5000) {
   mes "[Hotel Employee]";
   mes "I'm sorry, but";
   mes "you need 5,000 zeny";
   mes "in order to check in.";
   close;
  }
  Zeny -= 5000;
  mes "[Hotel Employee]";
  mes "Thank you~";
  mes "I hope you enjoy";
  mes "your stay in the";
  mes "Royal Dragon.";
  close2;
  warp "lhz_in02",219,150;
  percentheal 100,100;
  npcskill "AL_BLESSING",10,99,99;
  end;
 case 3:
  mes "[Hotel Employee]";
  mes "Thank you and";
  mes "have a nice day.";
  close;
 }
}

Pada baris 34, terdapat fungsi percentheal 100,100 yang berarti memulihkan HP dan SP player sebanyak 100%, lalu pada baris 35, ada perintah npcskill AL_BLESSING, walau hanya berfungsi sebagai efek, tapi dari sini kita tahu kalau skill karakter bisa di aplikasikan ke script. Ada dua perintah yang biasa digunakan pada NPC buffer selain percentheal yaitu sc_start dan sc_end. sc_start digunakan untuk buff seperti Increase Agi dan Blessing, sc_end digunakan untuk debuff seperti poison dan silence.

Sebagai acuan untuk mencari nama skill yang ingin digunakan, kamu bisa membuka constants.conf pada folder db. Perintah yang bisa digunakan menggunakan awalan SC_.

Disini saya menggunakan map prontera dan kode NPC 919, dan membuat NPC buffer yang memberikan Increase AGI dan Blessing, dan menghilangkan efek poison, silence, dan hallucination.
efek buff dari Increase AGI dan Blessing akan aktif selama 10 menit.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
prontera,159,191,5 script Healer 919,{
 mes "[Healer]";
 mes "Halo, apakah kamu ingin menggunakan fasilitas ini ?";
 next;
 switch(select("Berikan Buff!","Tidak jadi.")) {
  case 1:
   mes "[Healer]";
   mes "Terima kasih sudah menggunakan fasilitas ini";
   next;
   percentheal 100,100;
   sc_end SC_Poison;
   sc_end SC_Silence;
   sc_end SC_Hallucination;
   sc_start SC_BLESSING,600000,10;
   sc_start SC_INCREASEAGI,600000,10;
   //sc_start SC_IMPOSITIO,360000,5;
   skilleffect 34,0;
   end;
  case 2:
   mes "[Healer]";
   mes "Baik, sampai jumpa lagi";
   close;
 }
}

Disini saya menggunakan perintah switch sebagai pengganti menu, dimana cara ini lebih simpel, namun terkadang jika optionnya terlalu banyak, kamu akan sedikit kesulitan saat mencari masing-masing relasi antar opsi. Tapi tidak ada salah nya dipelajari, karena perintah switch banyak ditemui di bahasa pemrograman lain.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
switch(select("opsi1","opsi2","opsi3") {
 case 1:
  mes "Hello World !";
  close;
 case 2:
  mes "Hello World !";
  close;
 case 3:
  mes "Hello World !";
  close;
}

Cara menggunakan switch, perhatikan contoh diatas, setelah masuk perintah switch, terdapat perintah select untuk membuat opsi, lalu didalam kurung sebelah kanan adalah pilihan opsi nya. Berbeda dengan menggunakan menu, kita tidak perlu lagi mengetik jump tag nya. Sebagai pengganti jump tag, digunakan case sebagai cabang dari switch select yang digunakan, urutan case bedasarkan urutan opsi yang ada didalam kurung. seperti pada contoh diatas saya menggunakan dua opsi, jadi saya menggunakan dua case. Perhatikan tag }{, jangan lupa ditutup.

Oke kembali pada script buff, saya menggunakan sc_end untuk menghapus negative status poison, silence, dan hallucination. dan menggunakan sc_start untuk memberikan positif buff yaitu Blessing dan Increase AGI, dan tentu saja HP dan SP penuh kembali.

Pada sc_start, value ke dua setelah skill, adalah durasi efek dari status yang diberikan (dalam milisekon) karena saya ingin mengaktifkannya selama 10 menit, maka value yang saya masukan adalah 600.000 milisekon, dan value terakhir adalah LV skill. Klo ga salah inget, level skill yang melebihi level yang seharusnya, nanti akan muncul error di map-server. Biasanya sering terjadi ketika kita mengcopy paste perintah yang sama, namun hanya merubah nama skillnya, jadi lebih baik masukan level yang sesuai agar tidak repot bolak balik merevisi script tersebut.

Perhatikan pula baris 16, saya menggunakan tanda garis miring 2x, tanda ini digunakan, agar sistem mengabaikan perintah tersebut (disable). Pada baris tersebut saya menambahkan skill Imposito Magnus, namun, saya tidak ingin menggunakannya, jadi saya disable. tanda garis miring 2x berguna agar kita bisa mengedit dengan mudah tanpa harus bolak balik mengetik dan menghapus perintah.
NOTE : Perintah ini juga ditemukan pada configurasi script custom.

Simpan file ini dengan nama misalnya testbuffer.txt

C) NPC Quest
Pada Ragnarok Online, terdapat NPC Quest untuk membuat headgear. Biasanya pada private server, quest nya dibuat lebih mudah, atau headgear yang digunakan tidak ada di official server (custom headgear). Untuk membuat headgear, biasanya player diharuskan membawa beberapa item, kadang zeny, dan setelah terkumpul, NPC akan memberikan headgear tersebut.

Pada script quest seperti ini, biasanya akan menggunakan perintah countitem yang dibutuhkan dan deleteitem untuk menghapus item yang dikumpulkan agar tidak terjadi looping/abuse.

Disini saya akan membuat contoh untuk membuat sebuah Pipe dengan menggunakan 10 Jellopy, 20 Scell, dan zeny sejumlah 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
geffen,40,125,6 script Pipe Maker 951,{
 mes "[Maker]";
 mes "Halo, saya bisa membuatkan kamu Pipe, apakah kamu tertarik ?";
 next;
 switch(select("Bahan yang diperlukan?","Sudah punya bahannya","Lain kali.")){
  case 1:
   mes "[Maker]";
   mes "Bawakan barang-barang ini :";
   mes "10 Jellopy";
   mes "20 Scell";
   mes "dan 10.000 Zeny";
   close;
  case 2:
   mes "[Maker]";
   mes "Sebentar, dicek terlebih dahulu";
   next;
   if (countitem(909)&lt;10 || countitem(911)&lt;20 || zeny&lt;10000) {
    mes "[Maker]";
    mes "Maaf, kamu belum memenuhi syarat";
    next;
    mes "[Maker]";
    mes "Bawakan barang-barang ini :";
    mes "10 Jellopy";
    mes "20 Scell";
    mes "dan 10.000 Zeny";
    close;
   }
   delitem 909,10; //Jellopy
   delitem 911,20; //Scell
   set zeny,zeny-10000;
   mes "[Maker]";
   mes "Sudah kuperiksa, kamu memenuhi syarat.";
   next;
   mes "[Maker]";
   mes "Silahkan datang kembali jika kamu ingin membuatnya lagi.";
   getitem 2268,1; // Pipe
   close;
  case 3:
   mes "[Maker]";
   mes "Oke, bicaralah kepadaku lagi jika kamu berubah pikiran";
   close;
 }
}

NOTE : Tanda || pada pembatas countitem (mirip huruf I besar) berada diatas tombol enter sambil menekan tombol SHIFT.

Agar quest ini tidak bolak balik, kita buat menjadi tiga opsi/case, yaitu :
Pada option 1, kamu cukup membuat percakapan untuk menjelaskan bahan-bahan yang diperlukan untuk membuat item yang diinginkan.

Pada option 2, NPC memproses bahan yang dibawa player, dimulai dengan pengecekan menggunakan perintah if dan countitem(kodeitem) dan memberikan statement jikalau barang yang diperlukan kurang. Setelah bahan yang dikumpulkan sesuai, maka NPC harus menghapus bahan-bahan tersebut dengan menggunakan delitem, jumlahitem.
Untuk pengecekan zeny cukup gunakan zeny < jumlahzeny, dan untuk mengurangi zeny pada player, gunakan perintah set zeny, zeny -jumlahzeny (jangan lupa tanda minus/kurang). Setelah itu, NPC harus memberikan Item yang dijanjikan, dengan menggunakan perintah getitem (kodeitem),jumlah item.

NOTE : tanda garis miring 2x digunakan sebagai reminder dan pengecekan, karena jumlah item sangat banyak. Kamu bisa menggunakan nama item, tapi lebih baik menggunakan kode ID nya saja.

Pada option 3, digunakan untuk opsi player yang ingin menghentikan dialog dengan NPC.

Sampai disini, simpan dengan file misalnya testquest.txt


Sekarang kamu punya tiga file npc yaitu, testwarper, testbuffer, dan testquest, jangan lupa untuk menambahkannya kedalam config script mu. Buka folder npc dan buka file script_custom.conf dengan Notepad++. Formatnya adalah npc: folder/tempat/file/namafile seperti contoh dibawah, saya menyimpan file nya pada folder npc/custom/

1
2
3
npc: npc/custom/testwarper.txt
npc: npc/custom/testbuffer.txt
npc: npc/custom/testquest.txt

Setelah disimpan, ketiga script tersebut akan diload setiap kali map-server distart. Untuk memunculkan langsung npc tersebut, kamu bisa menggunakan perintah @loadnpc, misalnya :
@loadnpc npc/custom/testwarper.txt

untuk mematikannya, kamu harus mendisable script tersebut dengan menggunakan garis miring 2x pada script_custom.conf dan kemudian gunakan @reloadscript. atau kamu bisa langsung menuju NPC tersebut, Klik kanan lalu Kill NPC (harus menggunakan ID GM yang tersimpan di clientinfo.xml didalam folder data). atau kamu juga bisa menggunakan perintah @unloadnpcfile, misalnya : 
@unloadnpcfile npc/custom/testwarper.txt

NOTE : Command bisa berbeda pada masing-masing emulator.

Sampai disini, selesai tutorial membuat NPC sederhana, jika kamu ingin mencoba untuk membuat script lain, kamu bisa melihat-lihat script yang sudah ada dan mempelajari cara kerjanya. Semoga Berhasil !

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 !