Installation

Installation

This guide is designed for new Ubuntu 18.04 servers. If you are not using Ubuntu 18.04, you may need to take extra steps to complete the early installation process. Follow these steps in order!
    1.
    4.
    TODO

Part 1: System setup

Account

Create a non-root account, and give it sudo permissions. This can be done with 2 commands (executed as root):
1
adduser <user name>
2
usermod -aG sudo <user name>
Copied!
where <user name> is the name of the new account. Give the account a strong password, and make sure you can log in to it through SSH. The rest of this guide must be followed as the new account.

MySQL

After adding the new account, MySQL must be installed. MySQL 8 is strongly recommended. You can install MySQL with these commands:
1
curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb
2
sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
3
(a menu will appear, select OK and press ENTER)
4
sudo apt update -y && sudo apt install -y mysql-server
Copied!
After running the last commands, you will be asked for a root password. Although you will never use the root account after you set up your server, you should still set a secure password for it. Once MySQL is fully configured, run this command: mysql -uroot -p When you are prompted for a password, enter the root password you set before and press ENTER.
You will now create MySQL accounts. Generate 3 strong passwords. One will be the MANAGERPASS, the next will be the GAMEPASS and the last will be the CHATPASS.
Type each of these commands, pressing ENTER after each one:
1
CREATE USER [email protected]'%' IDENTIFIED BY "MANAGERPASS";
2
CREATE USER [email protected] IDENTIFIED BY "GAMEPASS";
3
CREATE USER [email protected] IDENTIFIED BY "CHATPASS";
4
5
CREATE DATABASE SOAPBOX;
6
CREATE DATABASE openfire;
7
8
GRANT ALL ON SOAPBOX.* to [email protected]'%', [email protected];
9
GRANT ALL ON openfire.* to [email protected]'%', [email protected];
10
exit;
Copied!

Tools

To compile and run the server, you will need to install some tools. Run the following commands:
1
sudo apt install -y zip unzip
2
sudo apt install -y redis-server
3
curl -s "https://get.sdkman.io" | bash
4
source "$HOME/.sdkman/bin/sdkman-init.sh"
5
sdk install java
6
sdk install maven
Copied!
This will install the latest version of Java (the platform that the server runs on), Maven (the tool that is used to create the server .jar file) and Redis (software that is used to keep track of various temporary data)

Part 2: Code compilation

To acquire the code required to run the server, run the following commands:
1
mkdir -p ~/server/src
2
mkdir -p ~/server/deploy
3
4
git clone https://github.com/SoapboxRaceWorld/soapbox-race-core.git ~/server/src/core
5
git clone https://github.com/SoapboxRaceWorld/openfire.git ~/server/src/openfire
6
git clone https://github.com/SoapboxRaceWorld/openfire-restAPI-plugin.git ~/server/src/openfire-restAPI-plugin
7
git clone https://github.com/SoapboxRaceWorld/openfire-nonSaslAuthentication-plugin.git ~/server/src/openfire-nonSaslAuthentication-plugin
Copied!
Now you need to compile the code. To do that, run the following commands:
1
cd ~/server/src/core
2
mvn package -Dnfs.core.stage=production
3
cd ~/server/src/openfire
4
mvn verify
5
cd ~/server/src/openfire-restAPI-plugin
6
mvn verify
7
cd ~/server/src/openfire-nonSaslAuthentication-plugin
8
mvn verify
Copied!
TODO

Part 3: Software configuration: Openfire

TODO
Last modified 1yr ago