Sett opp Ragnarok Online Server på Ubuntu 14.04 x64

I denne artikkelen skal vi sette opp en Ragnarok Online Server på Ubuntu 14.04 x64. Du kan være logget på som root eller en bruker med superbrukerrettigheter. Det er tryggere å sette opp dette som en ikke-rootbruker med sudo. I denne opplæringen skal vi bruke rAthena-serverfilene.

Hvis du bruker Windows og har Ubuntu Server (VPS eller dedikert), trenger du følgende programmer.

  • FileZilla
  • PuTTY
  • Tekstredigering (Sublime eller Notepad++ anbefales)

Krav

  • apache2 - Hvis du planlegger å bruke phpMyAdmin for ekstern mysql-tilgang og sette opp nettstedet ditt.
  • php5 - For web og phpMyAdmin.
  • phpmyadmin - Ekstern MySQL-tilgang ved å bruke en nettleser.
  • mysql-server - vår database for spillserveren.
  • mysql-klient
  • git
  • gjøre
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Valgfritt, for PCRE-støtte.
  • libssl-dev - Påkrevd, for kompilering med MySQL 5.5.

Du kan referere til denne veiledningen angående installasjon av Apache, MySQL og PHP.


Installerer nødvendige pakker

Kjør disse kommandoene over SSH.

  • Rotbruker:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Ikke-root med sudo-privilegier:

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

Etter å ha installert serverkravene, la oss fortsette å installere og konfigurere serverfilene.


Laster ned serverfilene

Nå skal vi få de siste oppdateringene av rAthena-serverfiler. Dette er filene som kreves for å kjøre en Ragnarok Online-server. Det er andre serverfiler som kan brukes, som Hercules og eAthena, men i denne opplæringen bruker vi rAthena. Kjør kommandoen nedenfor for å laste ned filene.

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

Dette vil plassere alle filene i rAthenadin nåværende katalog i terminal.

For å oppdatere serverfilene til siste revisjon, kjør denne kommandoen.

    cd rAthena
    git pull

MySQL oppsett

I denne delen konfigurerer vi MySQL for databasen til serveren vår. Kontroller først om MySQL-serveren din kjører.

    service mysql status

Hvis den ikke kjører, skriv inn denne kommandoen.

    service mysqld start

Etter å ha kjørt kommandoene ovenfor, åpne MySQL-konsollen.

    mysql -u root -p

Du vil bli bedt om root-passordet ditt. Etter å ha logget inn, skriv inn følgende kommandoer for å lage databasen for serveren vår.

CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".

    mysql> CREATE DATABASE ragnarok;

Deretter oppretter du en ny bruker for Ragnarok DB og logger DB.

GRANT ALL ON ragnarok.* TO yourdatabaseusername@localhost IDENTIFIED BY "yourdesiredpassword"; -- We will create a new user called admin with a password of 123456.

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

Du kan erstatte localhost med en IP-adresse hvis du vil at brukeren skal kunne få tilgang til MySQL-serveren din eksternt.

Opprett loggdatabase for Ragnarok-spillloggene.

CREATE DATABASE (your log database name) -- We'll name it "log".

    mysql> CREATE DATABASE log;

Angi tillatelser for brukeren vi opprettet tidligere kalt admin .

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

Gjenopprett de nødvendige tabellene i Ragnarok- og loggdatabasen. Oppdater passordet ditt -pderetter.

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

Opprette en spillkonto

Vi bruker phpMyAdmin som vi installerte tidligere for å få tilgang til databasen. Få tilgang til phpMyAdmin via nettleseren din.

Velg ragnarokdatabasen og velg logintabellen. Vi kan se at det er én rekord i den tabellen. Ikke slett/endre den ennå. Den brukes av serveren. For å opprette en spillkonto, klikk på SQL-fanen mens du er på loginbordet for å åpne spørringsredigeringsprogrammet. Kjør følgende spørring.

    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 protected]', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');

Vi har satt inn en ny bruker i påloggingstabellen med følgende informasjon.

  • account_id = 2000000 (begynn alltid med 2000000, deretter 2000001...)
  • userid = admin (ditt brukernavn i spillet)
  • user_pass = password123 (passordet for kontoen din)
  • sex = M (M eller F, ikke bruk S fordi det bare er for serveren)
  • e-post = [email protected] (kontoens e-postadresse, brukt til å slette karakterautomater i spillet)
  • group_id = 99 (se /rathena/conf/groups.confog sjekk id-linjene. Som nå, 99 for å gjøre dette til en GM-konto for spesiell kommandobruk i spillet.)
  • character_slots = 9 (Antall tegn som kan opprettes per konto)

La de andre verdiene være som de er. Gratulerer. Du har opprettet kontoen din for spillet.


Konfigurering av serverfilene

Først må du vite serverens IP-adresse. Du vet kanskje allerede dette siden det allerede var inkludert i serverinformasjonen til din Vultr VPS. Hvis du vil sjekke det, skriv inn:

    ifconfig

Se etter eth0 inet addr:xxx.xxx.xxx.xxx delen. xxx.xxx.xxx.xxx vil være IP-adressen til serveren din. Hvis du har installert Apache, kan du få tilgang til denne for å sjekke om webserveren din kjører.

I FileZilla logger du på VPS-en din med serverlegitimasjonen din og får tilgang til /rAthena/confmappen.

Rediger char_athena.confog map_athena.confmed din foretrukne tekstredigerer.

Rediger char_athena.conffra:

    // 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       

Til:

    // 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

Hvor xxx.xxx.xxx.xxxer IP-adressen til serveren din.

inter_athena.txtGjør disse endringene i filen:

    // 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

map_athena.txtGjør disse endringene i filen:

    // 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

Hvor xxx.xxx.xxx.xxxer IP-adressen til serveren din.

Åpne subnet_athena.txtog angi IP-adressen.

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

Og vi er ferdige med å konfigurere serveren.


Kompilerer rAthena-server

Nå er det på tide å kompilere serveren! I denne delen må du vite hvilken Ragnarok Online-klientversjon du skal bruke for å koble til serveren. For klientoppsett, besøk denne siden .

Etter at du har bestemt deg for hvilken klient som skal brukes, la oss redigere noen filer. La oss bare si at vi valgte å bruke 08072013klienten siden dette er den stabile fornyelsesklienten.

Kjør denne kommandoen på terminalen:

    ./configure --enable-packetver=YYYYMMDD

Erstatt YYYYMMDDmed klientdatoen (reformatert).

    ./configure --enable-packetver=20130807

Konfigureringsskriptet vil utføre nødvendige tester og generere make-filer for serveren vår.

Deretter kompilerer du kildekoden ved å skrive inn disse kommandoene:

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

... og vent til det er ferdig. Hvis du gjør endringer på filene i /rAthena/srcmappen, må du kompilere den på nytt.

    make clean
    make server

Konfigurerer pakkeversjonen for klienttilkoblinger

I FileZilla, pek på /rAthena/dbmappen og rediger packet_db.txt.

Finn denne linjen og rediger:

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

Siden vi bruker 2013-08-07Ragexeklienten, finn den angitte klienten nedenfor og se etter dens packet_ver og packet_keys .

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

Erstatt standardverdien til packet_db_verog packet_keys_useinn i de angitte klientverdiene.

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

Og spar. Dette er for å spesifisere hvilken klient som skal brukes av spillere. Vi ønsker ikke at de skal kunne bruke sin valgversjon.


Starter serveren

Etter å ha kompilert serverfilene, bruk disse kommandoene til å starte opp serveren.

Å starte:

    ./athena-start start

Å stoppe:

    ./athena-start stop

Å starte på nytt:

    ./athena-start restart

Hvis du har støtt på en feil som denne:

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

... så må du installere dos2unix for å konvertere skriptet.

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

Etter å ha kjørt disse kommandoene, start serveren på nytt.

Nå som vi er ferdige med serveroppsettet, trenger du bare å sette Ragnarok-klienten din til å peke på VPS-serveren din. Nyt å spille på din nye server!


Referanser


Leave a Comment

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Sett opp 7 Days to Die Server på Ubuntu 14

Sett opp 7 Days to Die Server på Ubuntu 14

I denne guiden lærer du hvordan du setter opp din egen 7 Days to Die-server (7D2D) på Ubuntu. Vær oppmerksom på at dette spillet fortsatt er tidlig tilgang og at th

Sette opp en Half Life 2-server på CentOS 6

Sette opp en Half Life 2-server på CentOS 6

Denne opplæringen vil dekke prosessen med å installere en Half Life 2-spillserver på CentOS 6 System. Trinn 1: Installere forutsetninger For å sette opp ou

Counter-Strike Global Offensive Server Launcher på Ubuntu

Counter-Strike Global Offensive Server Launcher på Ubuntu

De som har erfaring med å sette opp dedikert CS:GO (Counter-Strike: Global Offensive) vet at prosessen med å bruke kommandolinjegrensesnittet for å administrere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Innledning Hva er Cuberite? Cuberite er en skalerbar Minecraft-serverimplementering med åpen kildekode som er skrevet i C++. Den har en brukervennlig plugi

Installere Teamspeak på CentOS 7

Installere Teamspeak på CentOS 7

Teamspeak er en VOIP-server som kan brukes for team/flere personer til å kommunisere. Den er relativt lett og sikker, ettersom oppdateringer er utgitt

Slik installerer du SteamCMD på din VPS

Slik installerer du SteamCMD på din VPS

I denne opplæringen vil vi installere SteamCMD. SteamCMD kan brukes til å laste ned og installere mange Steam-spillservere, for eksempel Counter-Strike: Global Offensiv

Starte en Teamspeak 3-server på CentOS 6.4

Starte en Teamspeak 3-server på CentOS 6.4

Kjør følgende kommandoer for å installere en Teamspeak 3-server. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Slik installerer du Left 4 Dead Server på CentOS 7

Slik installerer du Left 4 Dead Server på CentOS 7

I denne veiledningen vil jeg forklare hvordan du installerer og konfigurerer en L4D-server på CentOS 7. Installere Left 4 Dead Før vi kommer i gang, må vi sørge for at

Hvordan installere en Minecraft-server på Ubuntu 14.04

Hvordan installere en Minecraft-server på Ubuntu 14.04

Bruker du et annet system? I denne artikkelen skal vi installere en Minecraft-server på en Ubuntu. Pass på at du er logget inn under en bruker som ikke er

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

I denne opplæringen lærer du hvordan du setter opp en SA-MP (San Andreas Multiplayer)-server på CentOS 7.

Sett opp TeeWorlds server

Sett opp TeeWorlds server

TeeWorlds er et gratis og åpen kildekode online flerspiller skytespill. I denne opplæringen skal jeg forklare hvordan du lager en TeeWorlds-server. Disse trinnene var

Kjør din egen Arma 3-server på Ubuntu 14

Kjør din egen Arma 3-server på Ubuntu 14

Oversikt Denne guiden vil dekke installasjonen og driften av din Arma 3-server ved hjelp av SteamCMD og skjerm. For ytterligere informasjon om th

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Bruker du et annet system? I denne opplæringen kan du godt lage en Tekkit Classic-server. Tekkit er en annen populær modpack laget for Minecraft. På grunn av beløpet

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Bruker du et annet system? Introduksjon Glowstone er utvilsomt den mest optimaliserte serveren for Minecraft. Programvaren har lav minnebruk og bruk

Hvordan installere Unturned på Linux

Hvordan installere Unturned på Linux

Bruker du et annet system? Introduksjon I denne veiledningen lærer du hvordan du setter opp og installerer en Unturned-server på Linux. Unturned er en populær overlevelse

Sette opp en JC2:MP-spillserver på Debian

Sette opp en JC2:MP-spillserver på Debian

I denne veiledningen vil vi sette opp en Just Cause 2: Multiplayer Linux-server. Disse kommandoene ble testet på Debian 7 x64, men de bør også fungere på th

Installer en Minecraft-server på Fedora 26

Installer en Minecraft-server på Fedora 26

Bruker du et annet system? I denne opplæringen vil jeg veilede deg gjennom å sette opp en Minecraft-server på en høyytelses SSD VPS på Vultr. Du vil lære ho

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer