Search the Community
Showing results for tags 'ubuntu'.
With LXD you can easy take snapshots and move your server to another physical machine. Guide is fully tested on MaNGOS Zero with bots module enabled. Check the video with installation process: https://asciinema.org/a/299001 If you do not want to use LXD, simple pass LXD instruction and go further. Let's start LXD installation & configuration: sudo apt install lxd && reboot Reboot is needed for reloading groups that will be assigned to your account. sudo lxd init with above command anserw defaults to all questions. Create container for our server: lxc launch ubuntu:bionic mangos-zero check if your container is running: lxc list +-------------+---------+-----------------------+-----------------------------------------------+------------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------+---------+-----------------------+-----------------------------------------------+------------+-----------+ | mangos-zero | RUNNING | *.*.*.* (eth1) | | PERSISTENT | 3 | +-------------+---------+-----------------------+-----------------------------------------------+------------+-----------+ now we will connect to our container: lxc exec mangos-zero bash Please verify that you are on your contierner, you should have promt like this [email protected]:~# if not you must try again with previous command providing your container name. MaNGOS server installation Install necessary packages: apt install git make cmake libssl-dev libbz2-dev build-essential default-libmysqlclient-dev libace-6.4.5 libace-dev mysql-server We need also install additional mysql package. I've attached file in this post so you don't need to search it. Download this file and send to your container. Open another terminal window and type: lxc file push /DOWNLOADED_DIRECTORY/mysql-apt-config_0.8.14-1_all.deb mangos-zero/root/ Go back to first terminal where you are logged to your container and type: dpkg -i /root/mysql-apt-config_0.8.14-1_all.deb on installation window check mysql 5.7 is selected and hit Enter, when window will close type: apt update && apt full-upgrade -y When all packages are installed, secure your mysql installation. Please type and anserw to few questions to secure your mysql server. mysql_secure_installation Create new username and password to access our mysql server: mysql GRANT ALL ON *.* to 'mangos'@'localhost' IDENTIFIED BY 'set_database_password'; Getting MaNGOS source code, compile and configuration. We will create new folder for sources: mkdir /opt/mangos && cd /opt/mangos Now we will download server and database sources to created folder. MaNGOS zero source (if you want different mangos version please change mangoszero to different repo name): git clone https://github.com/mangoszero/server.git --recursive --depth 1 Database files: git clone https://github.com/mangoszero/database.git --recursive --depth 1 Compiling MaNGOS (if your CPU have less than 4cores change -j4 to -j2 for two core CPU): cd server && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/bin/mangos && make -j4 && make install above command will create build folder, compile and install compiled server. Database installation: cd /opt/mangos/database && chmod -R +x *.sh && ./InstallDatabases.sh above command will fix script permissions and install your database. GameData files extraction: This can me done inside or outside the container, choice is yours how you do it. Remember that extraction take some time, so go take a cup of tea/coffe and cookie and wait. (ETA 1-2h) We need proper files for exctraction, go to your mangos installation and copy those files to yor game client: cd /usr/local/bin/mangos/bin/ && chmod -R +x *.sh && cp -av tools/* ExtractResources.sh MoveMapGen.sh mmap_excluded.txt offmesh.txt /GAME_CLIENT_DESTINATION now go to your game client and run: ./ExtractResources.sh Server configuration: First we have to fix path to MaNGOS configruation. We can do this in config files or simply creating a symlink. In this tutorial we will create symlink to keep defaults. cd /usr/local/bin/mangos/ && ln -s ../etc Now we have to copy config files: cd etc/ && cp -av mangosd.conf.dist mangosd.conf && cp -av realmd.conf.dist realmd.conf In realmd.conf find "LoginDatabaseInfo" and change database username and password to credentials we created before. In mangosd.conf find "LoginDatabaseInfo", "WorldDatabaseInfo", "CharacterDatabaseInfo" and change database username and password to credentials we created before. Systemd configuration: Create systemd configuration to autostart your realmd and mangosd. In LXD I recommend to run mangosd in screen, we prepare such a configuration in this tutorial. Realmd service: cat > /etc/systemd/system/realmd.service <<EOF [Unit] Description=MangosZ server After=network.target mysql.service [Service] Type=simple User=root ExecStart=/usr/local/bin/mangos/bin/realmd -c /usr/local/bin/mangos/etc/realmd.conf WorkingDirectory=/usr/local/bin/mangos/bin/ Restart=on-abort [Install] WantedBy=multi-user.target EOF Mangosd service: cat > /etc/systemd/system/mangosd.service <<EOF [Unit] Description=MangosZ server After=network.target mysql.service [Service] Type=simple User=root #ExecStart=/usr/local/bin/mangos/bin/mangosd -c /usr/local/bin/mangos/etc/mangosd.conf ExecStart=/usr/bin/screen -mdS mangosd /usr/local/bin/mangos/bin/mangosd -c /usr/local/bin/mangos/etc/mangosd.conf WorkingDirectory=/usr/local/bin/mangos/bin/ PIDFile=/usr/local/bin/mangos/etc/mzero.pid RemainAfterExit=true Restart=on-abort [Install] WantedBy=multi-user.target EOF Reload systemd with: systemctl daemon-reload Enable services for autostart: systemctl enable realmd systemctl enable mangosd Start services: systemctl start realmd systemctl start mangosd Checking status of running services: systemctl status realmd systemctl status mangosd If you want to attach to mangosd console, simply type: screen -r mangosd to detach mangosd screen press keyboard combination: CTRL+A+D Update IP address in database, so you can connect to your server: mysql realmd -h localhost -u mangos -p check your values in realmlist table select address,localAddress from realmlist; +---------------+---------------+ | address | localAddress | +---------------+---------------+ | 192.168.1.180 | 192.168.1.180 | +---------------+---------------+ then update address and localAddress values with two query (replace IP_ADDRESS with yours) update realmlist set address='IP_ADDRESS'; update realmlist set localAddress='IP_ADDRESS'; Last thing is to restart both services and try to connect. At the end I wan't to share with you LXD container image, I made this tutorial based on it. Container do not include GameData so you have to extract it by yourself. MaNGOS-Zero LXD container based on Ubuntu 18.04 How to use it? Download the file and type in terminal (you must have LXD) lxc image import mangoszero-serv.tar.gz --alias mangosz-img lxc launch mangosz-img mangos-zero mysql-apt-config_0.8.16-1_all.deb
I am following the guide here ... https://www.getmangos.eu/wiki/documentation/installation-guides/guideslinux/installing-mangos-on-ubuntu-1604-lts-r20078/ I am running Ubuntu 16.04 and chose to install MaNGOS 3. I have tried this many, many times and it is always failing constantly with errors at different places, which I have managed to fix until now. First of all, I thought that now everything was being done by a script, everything was going to be easy..... no... it is still accompanied by errors, and guides missing out vital stages. All of my client files have been copied to my MaNGOS home directory. Along the way, I noticed several typos and throughout the script which were either causing me errors or I had spotted during browsing the script. These were a clear indication that this script was never tested properly before being released and it would not have worked with these errors. Here's the diff on a couple of these:- < INSTPATH="$ROOTPATH/fice" --- > INSTPATH="$ROOTPATH/five" < rm -f "$GAMEPATH/map-extractor" --- > rm -rf "$GAMEPATH/map-extractor" As you can see, a typo where 'fice' should have been 'five' and also when removing a directory (recursively) it is missing the -r switch. Anyway, these were easy fixes but now the real problems begin... Everything appears to work fine until this point:- The realm database has been created!The realm database has been created! The characters database has been created! The world database has been created! The file "/home/mangos/three/src/database/World/Setup/FullDB/achievement_criteria_requirement.sql" was processed properly The file "/home/mangos/three/src/database/World/Setup/FullDB/achievement_reward.sql" was processed properly The file "/home/mangos/three/src/database/World/Setup/FullDB/areatrigger_involvedrelation.sql" was processed properly The file "/home/mangos/three/src/database/World/Setup/FullDB/areatrigger_tavern.sql" was processed properly The file "/home/mangos/three/src/database/World/Setup/FullDB/areatrigger_teleport.sql" was processed properly ... Database update "/home/mangos/three/src/database/World/Updates/Rel21/Rel21_07_006_Populate_missing_GO_desc.sql" was successfully applied! Realm Name: MaNGOS Three Server #1 Realm ID: 1 dirname: missing operand Try 'dirname --help' for more information. The sql files all appear to be created successfully but immediately afterwards there appears to be a problem with the dirname and this is because there is an issue with the find command. Running this directly on the command line gives me a permission denied :- INSTGAMEPATH=$(dirname $(find /home -name "WoW.exe"| head -1 2>>/dev/null)) By this time I had re-run the whole getmangos script more than half a dozen times over a period of many hours and I couldn't be bothered to fix this so I just corrected it as follows:- INSTGAMEPATH=$(dirname $(find /home/mangos -name "Wow.exe"| head -1 2>>/dev/null)) Oh and by the way note how I have changed the WoW.exe to Wow.exe as it appears in my client, and without this change the find command will return nothing. Strangely, it will now ask your game path (again?), which I had to manually enter. I think this bit of the script needs some rework. lqqqqqqqqqqqqqqqqqqqqqWoW Game Pathqqqqqqqqqqqqqqqqqqqqqqqqk x Please, provide the path to your game directory. x x Default: x x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x x x/home/mangos x x tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu x < OK > <Cancel> x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj And then, this is when the script falls on its arse completely... lqqqqqqqqqqqqqqqqqqqqqqqqqqqSelect Tasksqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x Please select the extractions to perform x x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x x x [*] 1 DBC and Maps x x x x [*] 2 Vmaps x x x x [*] 3 Mmaps x x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x x x tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu x < OK > <Cancel> x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj As soon as you continue here, this is what appears on the screen... Map & DBC Extractor =================== No locales detected cp: cannot stat '/home/mangos/dbc': No such file or directory cp: cannot stat '/home/mangos/maps': No such file or directory Logging usage: Log <message> <echo flag> Beginning work .... Loading common MPQ files Error open archive: ./Data/enGB/locale-enGB.MPQ Error open archive: ./Data/enUS/locale-enUS.MPQ Error open archive: ./Data/deDE/locale-deDE.MPQ Error open archive: ./Data/esES/locale-esES.MPQ Error open archive: ./Data/frFR/locale-frFR.MPQ Error open archive: ./Data/koKR/locale-koKR.MPQ Error open archive: ./Data/zhCN/locale-zhCN.MPQ Error open archive: ./Data/zhTW/locale-zhTW.MPQ Error open archive: ./Data/enCN/locale-enCN.MPQ Error open archive: ./Data/enTW/locale-enTW.MPQ Error open archive: ./Data/esMX/locale-esMX.MPQ Error open archive: ./Data/ruRU/locale-ruRU.MPQ Reading liquid types from LiquidType.dbc...Fatal error: Could not read LiquidType.dbc! There was an issue while extracting VMaps! I am almost at the point of giving up as it is one problem after another. No locales detected Cannot locate the dbc or maps directory (these have not been created yet) A scripting problem being highlight by the logging usage message MPQ files!!!?? These have not been used in game clients for at least a couple of years! - I don't see this script ever working with current game clients. Error reading .dbc files... (maybe because the dbc directory does not exist?) An error extracting vmaps I have been trying to install MaNGOS over a number of years now and I never successfully completed it as there are always errors, more errors, incorrect or missing instructions. Sometimes even to the point of disinformation. I then give up. Again it seems that there are a plethora of errors etc in this script but I am determined to get to the bottom of it this around. I have gone quite a long way to investigate and report these errors and I would appreciate some help, please. If there is any further information you require, please ask. I have just tried this again and thought that this may me working, but no...... Then out of desperation, I tried the ExtractResources.sh script. This script appears to be deceptive and when you think it is working away like a busy beaver, it is actually doing nothing. One the screen it shows... Tue 25 Jul 09:07:28 BST 2017: Start extracting data for MaNGOS DBC and map files will be extracted Vmaps will be extracted Mmaps will be extracted with 1 processes Tue 25 Jul 09:07:28 BST 2017: Start extracting data for MaNGOS, DBCs/maps 1, vmaps 1, mmaps 1 on 1 processes Tue 25 Jul 09:07:28 BST 2017: Start extraction of DBCs and map files... Map & DBC Extractor =================== No locales detected Tue 25 Jul 09:07:28 BST 2017: Extracting of DBCs and map files finished Tue 25 Jul 09:07:28 BST 2017: Start extraction of vmaps... However, after waiting for a few hours, I decided to check its progress. I could find no maps, mmaps, dbc's or vmaps anywhere, so I checked the log file getmangos.log and this is what it says... 2017-07-25:09:23:32 Extracting DBC and Maps 2017-07-25:09:23:32 DBC and Maps are extracted 2017-07-25:09:23:32 Copying DBC and Maps files to installation directory 2017-07-25:09:23:37 Deleting VMaps previously generated. 2017-07-25:09:23:37 Copying VMaps extractor 2017-07-25:09:23:37 Extracting VMaps 2017-07-25:09:23:37 There was an issue while extracting VMaps! So all along it was doing nothing. Once again, please help...
On Ubuntu systems, and possibily on others as well, the re-creation of an user with a group that did already exist (e.g. mangos:mangos) makes the installation to fail because the group already exist. The useradd command must then be amended with the -g option.