-
Notifications
You must be signed in to change notification settings - Fork 80
Quick Start Guide
Windows 10
- Install Git for Windows, accept defaults, change default text editor if desired.
- Install Visual Studio 2019, check Desktop development with C++.
- Install MariaDB, use defaults, set a root password.
- Install Python 3, check to add to PATH.
- Open a PowerShell window and navigate to your chosen install directory.
- Download the latest code, install Python requirements, and copy the configuration files:
git clone --recursive https://github.com/topaz-next/topaz.git py -3 -m pip install -r topaz/tools/requirements.txt cp topaz/conf/default/* topaz/conf/
- Edit the new
login.conf
,map.conf
, andsearch_server.conf
files intopaz/conf/
and changemysql_password
to the password set during MariaDB setup. - Back in your PowerShell window, move to
topaz/tools/
and build the database:cd topaz/tools py -3 dbtool.py
- Follow the on-screen instructions.
- Open the
topaz
root folder in VS2019. - Build the solution in VS2019.
-
Open a PowerShell window and navigate to your
topaz
directory. -
Stash any changes you've made and pull the latest code from upstream:
git stash git pull git stash pop
⚠️ Pay attention! If you stashed any changes, there is a chance you will see the following:CONFLICT (content): Merge conflict in some file
⚠️ If this happens, you need to manually edit the conflicting files before continuing. -
Move to
topaz/tools/
and update the database:cd tools py -3 dbtool.py update
-
Open the
topaz
root folder in VS2019.
Linux
-
Use your package manager to install the following packages or their equivalent:
Debian/Ubuntu
sudo apt update sudo apt install git python3 python3-pip g++-9 cmake make libluajit-5.1-dev libzmq3-dev libssl-dev zlib1g-dev mariadb-server libmariadb-dev
- Debian 10/Ubuntu 18.04: See the Linux Setup Guide for information about upgrading to and building with g++-9.
Arch
sudo pacman -S git python3 python-pip gcc cmake make luajit zeromq openssl zlib mariadb
- Arch users will need to initialize and start the database software if not done already:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql sudo systemctl enable mariadb sudo systemctl start mariadb
-
Download the latest code, install Python requirements, and copy the configuration files:
git clone --recursive https://github.com/topaz-next/topaz.git pip3 install -r topaz/tools/requirements.txt cp topaz/conf/default/* topaz/conf/
-
Run the following script to improve database security:
sudo mysql_secure_installation
-
Type the following to create a database user with the login topaz and password password, and an empty database called tpzdb. Change these to improve security:
sudo mysql -u root -p -e "CREATE USER 'topaz'@'localhost' IDENTIFIED BY 'password';CREATE DATABASE tpzdb;USE tpzdb;GRANT ALL PRIVILEGES ON tpzdb.* TO 'topaz'@'localhost';"
-
Edit the new
login.conf
,map.conf
, andsearch_server.conf
files intopaz/conf/
and changemysql_login
,mysql_password
, andmysql_database
to the information used above (topaz, password, and tpzdb). -
In the
topaz
directory, prepare and build the executables:mkdir build cd build cmake .. make -j $(nproc)
-
Wait for the build to complete, then move to
topaz/tools/
and build the database:cd ../tools python3 dbtool.py
-
Select 'Reset DB' and follow the instructions to "reset" the database.
-
Open the
topaz
directory in a terminal. -
Stash any changes you've made and pull the latest code from upstream:
git stash git pull git stash pop
⚠️ Pay attention! If you stashed any changes, there is a chance you will see the following:CONFLICT (content): Merge conflict in some file
⚠️ If this happens, you need to manually edit the conflicting files before continuing. -
Prepare and build the executables:
cd build cmake .. make -j $(nproc)
-
Wait for the build to complete, then move to
topaz/tools/
and update the database:cd ../tools python3 dbtool.py update
Next Step: Post-Install Guide
- General
- Client Setup
- Server Setup + Maintenance
- Server Administration
- Development
- Project Meta
- Server List
- Resources