Setup Ragnarok Online Server pada Ubuntu 14.04 x64

Pada artikel ini, kita akan menyiapkan Server Online Ragnarok di Ubuntu 14,04 x64. Anda dapat masuk sebagai root atau pengguna dengan hak pengguna super. Lebih aman untuk mengatur ini sebagai pengguna non-root dengan sudo. Dalam tutorial ini, kita akan menggunakan file server rAthena.

Jika Anda menggunakan Windows dan Anda memiliki Ubuntu Server (VPS atau Dedicated), Anda akan memerlukan program berikut.

  • FileZilla
  • Dempul
  • Editor teks (disarankan Sublime atau Notepad ++)

Persyaratan

  • apache2 - Jika Anda berencana menggunakan phpMyAdmin untuk akses mysql jarak jauh dan mengatur situs web Anda.
  • php5 - Untuk web dan phpMyAdmin.
  • phpmyadmin - Akses MySQL jarak jauh menggunakan browser web.
  • mysql-server - database kami untuk server game.
  • klien mysql
  • git
  • membuat
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Opsional, untuk dukungan PCRE.
  • libssl-dev - Diperlukan, untuk dikompilasi dengan MySQL 5.5.

Anda dapat merujuk pada panduan ini mengenai instalasi Apache, MySQL dan PHP.


Menginstal paket yang diperlukan

Jalankan perintah ini melalui SSH.

  • Pengguna root:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Non-root dengan hak sudo:

    sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    

Setelah berhasil menginstal persyaratan server, mari kita lanjutkan menginstal dan mengkonfigurasi file server.


Mengunduh file server

Sekarang, kita akan mendapatkan pembaruan terbaru dari file server rAthena. Ini adalah file yang diperlukan untuk menjalankan server Ragnarok Online. Ada file server lain yang dapat digunakan, seperti Hercules dan eAthena, tetapi dalam tutorial ini, kami menggunakan rAthena. Jalankan perintah di bawah ini untuk mengunduh file.

    git clone https://github.com/rathena/rathena.git ~/rAthena

Ini akan menempatkan semua file di dalam rAthenadirektori Anda saat ini di terminal.

Untuk memperbarui file server ke revisi terbaru, jalankan perintah ini.

    cd rAthena
    git pull

Pengaturan MySQL

Pada bagian ini, kami mengkonfigurasi MySQL untuk database server kami. Pertama, periksa apakah Server MySQL Anda berjalan.

    service mysql status

Jika tidak berjalan, masukkan perintah ini.

    service mysqld start

Setelah menjalankan perintah di atas, buka konsol MySQL.

    mysql -u root -p

Anda akan dimintai kata sandi root Anda. Setelah masuk, ketik perintah berikut untuk membuat database untuk server kami.

BUAT DATABASE (nama database ragnarok Anda); - Kami akan menyebutnya "ragnarok".

    mysql> CREATE DATABASE ragnarok;

Kemudian, buat pengguna baru untuk Ragnarok DB dan login DB.

GRANT ALL ON ragnarok. * KEdatabaseAnda pengguna @ localhost DIIDENTIFIKASI DENGAN "yourdesiredpassword"; - Kami akan membuat pengguna baru bernama admin dengan kata sandi 123456 .

    mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";

Anda dapat mengganti localhost dengan alamat IP jika Anda ingin pengguna dapat mengakses server MySQL Anda dari jarak jauh.

Buat basis data log untuk log game Ragnarok.

BUAT DATABASE (nama basis data log Anda) - Kami akan menamainya "log".

    mysql> CREATE DATABASE log;

Tetapkan izin untuk pengguna yang kami buat sebelumnya bernama admin .

    mysql> GRANT ALL ON log.* TO admin@localhost;

Kembalikan tabel yang diperlukan di Ragnarok Anda dan catat basis data. Perbarui kata sandi Anda setelah itu -p.

mysql> quit;

mysql -u admin -p123456 ragnarok  < /path/to/your/rathena folder/sql-files/main.sql
mysql -u admin -p123456 log < /path/to/your/rathena folder/sql-files/logs.sql

Membuat akun game

Kami menggunakan phpMyAdmin yang kami instal sebelumnya untuk mengakses database. Akses phpMyAdmin melalui browser web Anda.

Pilih ragnarokdatabase dan pilih logintabel. Kita dapat melihat bahwa ada satu catatan di tabel itu. Jangan menghapus / memodifikasinya. Ini digunakan oleh server. Untuk membuat akun game, klik tab SQL saat di atas loginmeja untuk membuka editor kueri. Jalankan kueri berikut.

    INSERT INTO `ragnarok`.`login` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `group_id`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`, `character_slots`, `pincode`, `pincode_change`, `vip_time`, `old_group`) VALUES ('2000000', 'admin', 'password123', 'M', 'email@email.com', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');

Kami telah memasukkan pengguna baru di tabel masuk dengan informasi berikut.

  • account_id = 2000000 (Selalu mulai dengan 2000000, lalu 2000001 ...)
  • userid = admin (Nama pengguna dalam game Anda)
  • user_pass = password123 (Kata sandi untuk akun Anda)
  • sex = M (M atau F, jangan gunakan S karena hanya untuk server)
  • email = email@email.com (Email akun Anda, digunakan untuk menghapus slot karakter dalam game)
  • group_id = 99 (lihat /rathena/conf/groups.confdan periksa baris id. Untuk sekarang, 99 untuk menjadikan ini akun GM untuk penggunaan perintah khusus.)
  • character_slots = 9 (Jumlah karakter yang dapat dibuat per akun)

Biarkan nilai-nilai lain apa adanya. Selamat. Anda telah berhasil membuat akun untuk permainan.


Mengkonfigurasi file server

Pertama, Anda harus tahu alamat IP server Anda. Anda mungkin sudah mengetahui ini karena sudah termasuk dalam informasi server Vultr VPS Anda. Jika Anda ingin memeriksanya, ketik:

    ifconfig

Cari bagian add0 inet eth0 : xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx akan menjadi alamat IP server Anda. Jika Anda menginstal Apache, Anda dapat mengaksesnya untuk memeriksa apakah server web Anda berjalan.

Di FileZilla, masuk ke VPS Anda dengan kredensial server Anda dan akses /rAthena/conffolder.

Edit char_athena.confdan map_athena.confdengan editor teks pilihan Anda.

Edit char_athena.confdari:

    // Login Server IP
    // The character server connects to the login server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    //login_ip: 127.0.0.1

    // The character server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Login Server Port
    login_port: 6900

    // Character Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    //char_ip: 127.0.0.1       

Untuk:

    // Login Server IP
    // The character server connects to the login server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    login_ip: xxx.xxx.xxx.xxx

    // The character server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Login Server Port
    login_port: 6900

    // Character Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    char_ip: xxx.xxx.xxx.xxx

Di mana xxx.xxx.xxx.xxxalamat IP server Anda.

Di inter_athena.txtfile, buat perubahan ini:

    // Global SQL settings
    // overridden by local settings when the hostname is defined there
    // (currently only the login-server reads/obeys these settings)

    // MySQL Login server
    login_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    login_server_port: 3306
    login_server_id: ragnarok // <- change this to your mySQL User your created earlier
    login_server_pw: ragnarok // <- its password 
    login_server_db: ragnarok // <- change this if your ragnarok db you set is different
    login_codepage:
    login_case_sensitive: no

    ipban_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    ipban_db_port: 3306
    ipban_db_id: ragnarok // <- change this to your mySQL User your created earlier
    ipban_db_pw: ragnarok // <- its password 
    ipban_db_db: ragnarok // <- change this if your ragnarok db you set is different
    ipban_codepage:

    // MySQL Character server
    char_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    char_server_port: 3306
    char_server_id: ragnarok // <- change this to your mySQL User your created earlier
    char_server_pw: ragnarok // <- its password 
    char_server_db: ragnarok // <- change this if your ragnarok db you set is different

    // MySQL Map Server
    map_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    map_server_port: 3306
    map_server_id: ragnarok // <- change this to your mySQL User your created earlier
    map_server_pw: ragnarok // <- its password 
    map_server_db: ragnarok // <- change this if your ragnarok db you set is different

    // MySQL Log Database
    log_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    log_db_port: 3306
    log_db_id: ragnarok // <- change this to your mySQL User your created earlier
    log_db_pw: ragnarok // <- its password 
    log_db_db: log // <- change this if your log db you set is different
    log_codepage:
    log_login_db: loginlog

Di map_athena.txtfile, buat perubahan ini:

    // Character Server IP
    // The map server connects to the character server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    char_ip: x.x.x.x


    // The map server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Character Server Port
    char_port: 6121


    // Map Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    map_ip: x.x.x.x

    // Map Server Port
    map_port: 5121

Di mana xxx.xxx.xxx.xxxalamat IP server Anda.

Buka subnet_athena.txtdan atur Alamat IP.

    subnet: 255.0.0.0:x.x.x.x:x.x.x.x

Dan kami sudah selesai mengkonfigurasi server.


Kompilasi server rAthena

Sekarang, saatnya mengkompilasi server! Di bagian ini, Anda perlu tahu versi klien Ragnarok Online apa yang akan Anda gunakan untuk terhubung ke server. Untuk pengaturan klien, kunjungi halaman ini .

Setelah Anda memutuskan klien mana yang akan digunakan, mari kita edit beberapa file. Katakan saja, kami memilih untuk menggunakan 08072013klien karena ini adalah klien pembaruan yang stabil.

Jalankan perintah ini di terminal:

    ./configure --enable-packetver=YYYYMMDD

Ganti YYYYMMDDdengan tanggal klien (diformat ulang).

    ./configure --enable-packetver=20130807

Script configure akan melakukan tes yang diperlukan dan menghasilkan makefile untuk server kami.

Setelah itu, kompilasi kode sumber dengan memasukkan perintah-perintah ini:

    make server
    chmod a+x login-server && chmod a+x char-server && chmod a+x map-server

... dan tunggu sampai selesai. Jika Anda membuat modifikasi pada file di dalam /rAthena/srcfolder, Anda harus mengkompilasi ulang.

    make clean
    make server

Mengkonfigurasi versi paket untuk koneksi klien

Di FileZilla, arahkan ke /rAthena/dbfolder dan edit packet_db.txt.

Temukan baris ini dan edit:

    //
    //packet_db_ver: 46
    packet_db_ver: default
    packet_keys_use: default

Karena kita menggunakan 2013-08-07Ragexeklien, temukan klien yang ditentukan di bawah dan cari packet_ver dan packet_keys-nya .

    //2013-08-07Ragexe
    packet_ver: 45
    packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto] 

Ganti nilai default dari packet_db_verdan packet_keys_useke dalam nilai klien yang ditentukan.

    //
    //packet_db_ver: 46
    packet_db_ver: 45
    packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80

Dan simpan. Ini untuk menentukan klien apa yang akan digunakan oleh pemain. Kami tidak ingin mereka dapat menggunakan versi pilihan mereka.


Mulai server

Setelah mengkompilasi file server, gunakan perintah ini untuk menjalankan server.

Untuk memulai:

    ./athena-start start

Untuk berhenti:

    ./athena-start stop

Untuk memulai kembali:

    ./athena-start restart

Jika Anda mengalami kesalahan seperti ini:

    -bash: ./athena-start: /bin/sh^M: bad interpreter

... maka Anda perlu menginstal dos2unix untuk mengonversi skrip.

    apt-get install dos2unix
    dos2unix athena-start 
    chmod a+x athena-start

Setelah menjalankan perintah itu, mulai server lagi.

Sekarang kita sudah selesai dengan pengaturan server, Anda hanya perlu mengatur klien Ragnarok Anda untuk menunjuk ke server VPS Anda. Nikmati bermain di server baru Anda!


Referensi

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.