Ubuntu 14.04 x64에서 Ragnarok 온라인 서버 설정

이 기사에서는 Ubuntu 14.04 x64에서 Ragnarok 온라인 서버를 설정합니다. 루트 또는 슈퍼 유저 권한이있는 사용자로 로그인 할 수 있습니다. sudo를 사용하여 루트가 아닌 사용자로 설정하는 것이 더 안전합니다. 이 자습서에서는 rAthena 서버 파일을 사용합니다.

Windows를 사용 중이고 Ubuntu Server (VPS 또는 Dedicated)가있는 경우 다음 프로그램이 필요합니다.

  • FileZilla
  • 퍼티
  • 텍스트 편집기 (Sublime 또는 Notepad ++ 권장)

요구 사항

  • apache2-원격 mysql 액세스 및 웹 사이트 설정을 위해 phpMyAdmin을 사용하려는 경우
  • php5-웹 및 phpMyAdmin 용.
  • phpmyadmin-웹 브라우저를 사용한 원격 MySQL 액세스
  • mysql-server-게임 서버용 데이터베이스.
  • MySQL 클라이언트
  • 자식
  • 하다
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev-PCRE 지원을위한 옵션.
  • libssl-dev-MySQL 5.5로 컴파일 할 때 필요합니다.

Apache, MySQL 및 PHP 설치와 관련 하여이 안내서 를 참조 할 수 있습니다 .


필수 패키지 설치

SSH를 통해이 명령을 실행하십시오.

  • 루트 사용자 :

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • sudo 권한이있는 비 루트 :

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

서버 요구 사항을 성공적으로 설치 한 후 서버 파일 설치 및 구성을 진행하십시오.


서버 파일 다운로드

이제 rAthena 서버 파일의 최신 업데이트를 얻을 것입니다. 이들은 Ragnarok Online 서버를 실행하는 데 필요한 파일입니다. Hercules 및 eAthena와 같이 사용할 수있는 다른 서버 파일이 있지만이 자습서에서는 rAthena를 사용하고 있습니다. 아래 명령을 실행하여 파일을 다운로드하십시오.

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

rAthena터미널의 현재 디렉토리에있는 모든 파일이 배치됩니다 .

서버 파일을 최신 개정으로 업데이트하려면이 명령을 실행하십시오.

    cd rAthena
    git pull

MySQL 설정

이 부분에서는 서버의 데이터베이스에 대해 MySQL을 구성하고 있습니다. 먼저 MySQL 서버가 실행 중인지 확인하십시오.

    service mysql status

실행 중이 아니면이 명령을 입력하십시오.

    service mysqld start

위 명령을 실행 한 후 MySQL 콘솔을 엽니 다.

    mysql -u root -p

루트 비밀번호를 묻는 메시지가 나타납니다. 로그인 한 후 다음 명령을 입력하여 서버의 데이터베이스를 작성하십시오.

CREATE DATABASE (라그나로크 데이터베이스 이름); -우리는 "ragnarok"라고 이름을 지을 것입니다.

    mysql> CREATE DATABASE ragnarok;

그런 다음 Ragnarok DB 및 로그 DB에 대한 새 사용자를 작성하십시오.

라그나로크에 모두 참여하십시오. * youryouruserir @ localhost에 "yourdesiredpassword"로 식별; - 암호가 123456 인 admin 이라는 새 사용자를 만듭니다 .

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

사용자가 MySQL 서버에 원격으로 액세스 할 수있게하려면 localhost 를 IP 주소로 바꿀 수 있습니다 .

라그나로크 게임 로그에 대한 로그 데이터베이스를 만듭니다.

CREATE DATABASE (로그 데이터베이스 이름)-이름을 "log"로 지정합니다.

    mysql> CREATE DATABASE log;

앞서 이름이 admin 인 사용자에 대한 권한을 설정하십시오 .

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

Ragnarok 및 로그 데이터베이스에서 필수 테이블을 복원하십시오. -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

게임 계정 만들기

데이터베이스에 액세스하기 위해 이전에 설치 한 phpMyAdmin을 사용하고 있습니다. 웹 브라우저를 통해 phpMyAdmin에 액세스하십시오.

선택 ragnarok데이터베이스를하고 선택 login테이블을. 해당 테이블에 레코드가 하나 있음을 알 수 있습니다. 아직 삭제 / 수정하지 마십시오. 서버에서 사용합니다. 게임 계정을 만들려면 login테이블 에서 SQL 탭을 클릭 하여 쿼리 편집기를 엽니 다. 다음 쿼리를 실행하십시오.

    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');

다음 정보를 사용하여 로그인 테이블에 새 사용자를 삽입했습니다.

  • account_id = 2000000 (항상 2000000으로 시작한 다음 2000001 ...)
  • userid = 관리자 (게임 내 사용자 이름)
  • user_pass = password123 (계정의 비밀번호)
  • sex = M (M 또는 F, 서버 전용이므로 S를 사용하지 마십시오)
  • email = [email protected] (계정 내 이메일, 게임 내 캐릭터 슬롯 삭제에 사용됨)
  • GROUP_ID = 99 (참조 /rathena/conf/groups.conf아이디 라인을 체크. As를 지금은 99이 특별한 명령 사용법 게임 내의 GM 계정을 만들 수 있습니다.)
  • character_slots = 9 (계정 당 만들 수있는 문자 수)

다른 값은 그대로 두십시오. 축하합니다. 게임 계정을 성공적으로 만들었습니다.


서버 파일 구성

먼저 서버의 IP 주소를 알아야합니다. Vultr VPS의 서버 정보에 이미 포함되어 있으므로 이미 알고 계실 것입니다. 확인하려면 다음을 입력하십시오.

    ifconfig

eth0 inet addr : xxx.xxx.xxx.xxx 부분을 찾으십시오 . xxx.xxx.xxx.xxx 는 서버의 IP 주소입니다. Apache를 설치 한 경우 웹 서버가 실행 중인지 확인하기 위해 액세스 할 수 있습니다.

FileZilla에서 서버 자격 증명으로 VPS에 로그인하고 /rAthena/conf폴더에 액세스하십시오 .

편집 char_athena.conf하고 map_athena.conf원하는 텍스트 편집기.

에서 수정 char_athena.conf:

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

에:

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

xxx.xxx.xxx.xxx서버의 IP 주소는 어디에 있습니까 ?

에서 inter_athena.txt파일이 변경 :

    // 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.txt파일이 변경 :

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

xxx.xxx.xxx.xxx서버의 IP 주소는 어디에 있습니까 ?

subnet_athena.txtIP 주소를 열고 설정하십시오.

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

그리고 서버 구성을 마쳤습니다.


rAthena 서버 컴파일

이제 서버를 컴파일 할 차례입니다! 이 부분에서는 서버에 연결하기 위해 어떤 Ragnarok Online 클라이언트 버전을 사용해야하는지 알아야합니다. 클라이언트 설정에 대해서는 이 페이지를 방문 하십시오 .

사용할 클라이언트를 결정한 후 일부 파일을 편집하겠습니다. 우리는 08072013클라이언트가 안정적인 갱신 클라이언트이기 때문에 클라이언트 를 사용하기로 결정했다고 가정 해 봅시다 .

터미널에서이 명령을 실행하십시오.

    ./configure --enable-packetver=YYYYMMDD

YYYYMMDD고객 날짜로 교체하십시오 (재 포맷).

    ./configure --enable-packetver=20130807

configure 스크립트는 필요한 테스트를 수행하고 서버에 대한 makefile을 생성합니다.

그런 다음 다음 명령을 입력하여 소스 코드를 컴파일하십시오.

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

... 완료 될 때까지 기다리십시오. /rAthena/src폴더 안의 파일을 수정 하면 다시 컴파일해야합니다.

    make clean
    make server

클라이언트 연결을위한 패킷 버전 구성

FileZilla에서 /rAthena/db폴더를 가리키고 편집하십시오 packet_db.txt.

이 줄을 찾아 편집하십시오.

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

2013-08-07Ragexe클라이언트를 사용하고 있으므로 아래에서 지정된 클라이언트를 찾아 packet_verpacket_keys를 찾으십시오 .

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

기본값 교체 packet_db_verpacket_keys_use지정된 클라이언트 값으로한다.

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

그리고 저장하십시오. 플레이어가 사용할 클라이언트를 지정하기위한 것입니다. 우리는 그들이 선택한 버전을 사용하기를 원하지 않습니다.


서버 시작

서버 파일을 컴파일 한 후이 명령을 사용하여 서버를 시작하십시오.

시작한다:

    ./athena-start start

그만하다:

    ./athena-start stop

재시작하기 위해:

    ./athena-start restart

다음과 같은 오류가 발생한 경우 :

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

... 그런 다음 스크립트를 변환하려면 dos2unix를 설치해야합니다.

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

해당 명령을 실행 한 후 서버를 다시 시작하십시오.

서버 설정을 마쳤으므로 Ragnarok 클라이언트가 VPS 서버를 가리 키도록 설정하면됩니다. 새로운 서버에서 즐기십시오!


참고 문헌



Leave a Comment

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구