servers:games:pvpgn-pro
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
servers:games:pvpgn-pro [2016/11/25 12:35] – Sean Rhone | servers:games:pvpgn-pro [2016/11/25 14:09] (current) – Sean Rhone | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Information ====== | ||
+ | * PvPGN-PRO | ||
+ | * Git ((https:// | ||
+ | * [[Information: | ||
+ | * classic.realmofespionage.xyz ((Battle.net)) | ||
+ | |||
+ | ===== Prerequisites ===== | ||
+ | |||
+ | * [[distros: | ||
+ | * [[servers: | ||
+ | |||
+ | ===== Notes ===== | ||
+ | |||
+ | * Does not support Diablo II patch 1.14d yet | ||
+ | * Notes unfinished | ||
+ | |||
+ | ====== Create Group and User ====== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo groupadd ' | ||
+ | |||
+ | ====== Dependencies ====== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo dnf install git cmake gcc-c++ compat-lua-devel | ||
+ | |||
+ | ====== Firewall ====== | ||
+ | |||
+ | * 6112/tcp is ? | ||
+ | * 6200/tcp is ? | ||
+ | |||
+ | sudo firewall-cmd --add-port=' | ||
+ | |||
+ | ====== Download Source ====== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo git clone -b ' | ||
+ | |||
+ | ====== Database ====== | ||
+ | |||
+ | mysql -u root -p | ||
+ | |||
+ | CREATE DATABASE pvpgn; | ||
+ | |||
+ | GRANT ALL PRIVILEGES ON pvpgn.* to ' | ||
+ | |||
+ | FLUSH PRIVILEGES; | ||
+ | |||
+ | ====== Compile ====== | ||
+ | |||
+ | * The sed command solves https:// | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | sed -i ' | ||
+ | |||
+ | rm -Rf '/ | ||
+ | |||
+ | ====== Settings ====== | ||
+ | |||
+ | ===== bnetd ===== | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | cp '/ | ||
+ | |||
+ | nano '/ | ||
+ | |||
+ | storage_path = " | ||
+ | | ||
+ | kick_old_login = false | ||
+ | hide_addr = true | ||
+ | passfail_count = 5 | ||
+ | | ||
+ | sync_on_logoff = true | ||
+ | | ||
+ | location = " | ||
+ | description = "Realm of Espionage PvPGN Server" | ||
+ | url = " | ||
+ | contact_name = " | ||
+ | contact_email = " | ||
+ | | ||
+ | servername = "RoE | PvPGN" | ||
+ | use_keepalive = false | ||
+ | |||
+ | ===== worldserver ===== | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | cp '/ | ||
+ | |||
+ | nano '/ | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ====== Create GM Account ====== | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | cd '/ | ||
+ | |||
+ | account create Espionage724 x | ||
+ | |||
+ | account set gmlevel Espionage724 3 -1 | ||
+ | |||
+ | server shutdown (TODO: Fix this; I'm pretty sure there' | ||
+ | |||
+ | ====== Other Settings ====== | ||
+ | |||
+ | ===== Disable Console ===== | ||
+ | |||
+ | * To be done after creating the initial GM account | ||
+ | * Future console use should be done over telnet | ||
+ | * If worldserver is started as a systemd service, the console being enabled will cause logging spam | ||
+ | |||
+ | sudo su ' | ||
+ | |||
+ | nano '/ | ||
+ | |||
+ | Console.Enable = 0 | ||
+ | |||
+ | ===== Realm Information ===== | ||
+ | |||
+ | * To be done after databases are initialized | ||
+ | * Applies to first realm | ||
+ | |||
+ | mysql -u root -p | ||
+ | |||
+ | UPDATE `auth`.`realmlist` SET `name` = 'RoE (WotLK)', | ||
+ | |||
+ | ===== Two-Factor Authentication ===== | ||
+ | |||
+ | * To be done after databases are initialized | ||
+ | * Applies to first account | ||
+ | * token_key must not exceed 16 characters and cannot contain an 8 or a 9 ((this note came from older notes, no idea where these limitations came from or if they' | ||
+ | * Add key to Authenticator app | ||
+ | |||
+ | mysql -u root -p | ||
+ | |||
+ | UPDATE `auth`.`account` SET `token_key` = ' | ||
+ | |||
+ | ====== Services ====== | ||
+ | |||
+ | ===== PvPGN ===== | ||
+ | |||
+ | ==== Service ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Unit] | ||
+ | Description=PvPGN | ||
+ | Wants=network-online.target | ||
+ | After=network-online.target mariadb.service | ||
+ | | ||
+ | [Service] | ||
+ | Type=simple | ||
+ | User=pvpgn | ||
+ | Group=pvpgn | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart='/ | ||
+ | Restart=always | ||
+ | RestartSec=5 | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | ===== Updater ===== | ||
+ | |||
+ | ==== Service ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Service] | ||
+ | User=pvpgn | ||
+ | Group=pvpgn | ||
+ | Type=oneshot | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | |||
+ | ==== Timer ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Unit] | ||
+ | Description=PvPGN Git Updater and Compiler | ||
+ | Wants=network-online.target | ||
+ | After=network-online.target | ||
+ | | ||
+ | [Timer] | ||
+ | OnCalendar=*-*-* 01:35:00 | ||
+ | Persistent=true | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | |||
+ | ===== Restarter ===== | ||
+ | |||
+ | ==== Service ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | |||
+ | ==== Timer ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Unit] | ||
+ | Description=PvPGN Restarter | ||
+ | Wants=network-online.target | ||
+ | After=network-online.target | ||
+ | | ||
+ | [Timer] | ||
+ | OnCalendar=*-*-* 02:05:00 | ||
+ | Persistent=true | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | |||
+ | ===== Backup ===== | ||
+ | |||
+ | ==== Database Auth ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [mysqldump] | ||
+ | user=pvpgn | ||
+ | password=x | ||
+ | |||
+ | ==== Service ==== | ||
+ | |||
+ | mkdir -p ~/' | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | ExecStart='/ | ||
+ | |||
+ | ==== Timer ==== | ||
+ | |||
+ | sudo -e '/ | ||
+ | |||
+ | [Unit] | ||
+ | Description=PvPGN Database Backup | ||
+ | After=mariadb.service | ||
+ | | ||
+ | [Timer] | ||
+ | OnCalendar=*-*-* 02:10:00 | ||
+ | Persistent=true | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | |||
+ | ====== Backup ====== | ||
+ | |||
+ | ===== Server ===== | ||
+ | |||
+ | ==== Stop Service ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo systemctl stop ' | ||
+ | |||
+ | ==== Backup Database ==== | ||
+ | |||
+ | mysqldump --defaults-extra-file='/ | ||
+ | |||
+ | ===== Client ===== | ||
+ | |||
+ | ==== Transfer File To Client ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | scp espionage724@192.168.1.154: | ||
+ | |||
+ | ====== Restore ====== | ||
+ | |||
+ | ===== Client ===== | ||
+ | |||
+ | ==== Transfer File To Server ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | scp ~/' | ||
+ | |||
+ | ==== Remove File ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | rm ~/' | ||
+ | |||
+ | ===== Server ===== | ||
+ | |||
+ | ==== Stop Service ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo systemctl stop ' | ||
+ | |||
+ | ==== Drop Previous Database ==== | ||
+ | |||
+ | mysql -u ' | ||
+ | |||
+ | DROP DATABASE pvpgn; | ||
+ | |||
+ | FLUSH TABLES; | ||
+ | |||
+ | ==== Re-create Database ==== | ||
+ | |||
+ | mysql -u ' | ||
+ | |||
+ | CREATE DATABASE pvpgn; | ||
+ | |||
+ | ==== Restore Database ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | mysql -u ' | ||
+ | |||
+ | ==== Reapply Permissions ==== | ||
+ | |||
+ | mysql -u root -p | ||
+ | |||
+ | GRANT ALL PRIVILEGES ON pvpgn.* to ' | ||
+ | |||
+ | FLUSH PRIVILEGES; | ||
+ | |||
+ | ==== Start Service ==== | ||
+ | |||
+ | **** | ||
+ | |||
+ | sudo systemctl start ' | ||
+ | |||
+ | ==== Remove Backup ==== | ||
+ | |||
+ | * Verify that PvPGN-PRO works before running | ||
+ | |||
+ | rm ~/' |