mirror of
https://github.com/EliteMasterEric/awesome-lego-universe.git
synced 2024-11-24 14:37:20 +00:00
Updated GC guide
Updated the Google Cloud guide to be up to date with the current server setup process. >SQL conversion is handled by the server now >All migrations are also handled by the server >All the user edited .ini settings have been moved to `sharedconfig.ini`
This commit is contained in:
parent
4267a6edf8
commit
af725a5fe2
@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
# Setup Instructions for Darkflame Universe (Google Cloud Setup)
|
# Setup Instructions for Darkflame Universe (Google Cloud Setup)
|
||||||
|
|
||||||
The following is a guide to setting up a functioning Darkflame Universe server instance running in the cloud, which has several key benefits:
|
The following is a guide to setting up a functioning Darkflame Universe server instance running in the cloud, which has several key benefits:
|
||||||
@ -130,7 +132,6 @@ Next, run these commands one at a time to download and build the server:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone --recursive https://github.com/DarkflameUniverse/DarkflameServer ~/DarkflameServer
|
git clone --recursive https://github.com/DarkflameUniverse/DarkflameServer ~/DarkflameServer
|
||||||
git clone https://github.com/lcdr/utils.git ~/lcdrutils
|
|
||||||
git clone https://github.com/DarkflameUniverse/AccountManager ~/AccountManager
|
git clone https://github.com/DarkflameUniverse/AccountManager ~/AccountManager
|
||||||
wget -O ~/AccountManager/credentials.py https://raw.githubusercontent.com/MasterEric/awesome-lego-universe/master/server-setup/google-cloud-res/credentials.py
|
wget -O ~/AccountManager/credentials.py https://raw.githubusercontent.com/MasterEric/awesome-lego-universe/master/server-setup/google-cloud-res/credentials.py
|
||||||
wget -O ~/AccountManager/resources.py https://raw.githubusercontent.com/MasterEric/awesome-lego-universe/master/server-setup/google-cloud-res/resources.py
|
wget -O ~/AccountManager/resources.py https://raw.githubusercontent.com/MasterEric/awesome-lego-universe/master/server-setup/google-cloud-res/resources.py
|
||||||
@ -170,8 +171,8 @@ We're going to create a set of Firewall rules that allow access to the server.
|
|||||||
1. Set the name to `darkflame-server`.
|
1. Set the name to `darkflame-server`.
|
||||||
2. Add `darkflame-server` to the list of target tags. We're going to assign this tag to our server later.
|
2. Add `darkflame-server` to the list of target tags. We're going to assign this tag to our server later.
|
||||||
3. Set the Source IPv4 ranges to `0.0.0.0/0`. This represents all IP addresses, meaning this rule will allow any incoming IP.
|
3. Set the Source IPv4 ranges to `0.0.0.0/0`. This represents all IP addresses, meaning this rule will allow any incoming IP.
|
||||||
4. Under Protocols and ports, check `TCP` and enter the string `1001, 2000, 2005, 3000-4000, 3306, 5000`. This will allow access to the auth server, master server, chat server, world servers, database, and account manager.
|
4. Under Protocols and ports, check `TCP` and enter the string `1001, 2005, 3000-4000, 5000`. This will allow access to the auth server, master server, chat server, world servers, database, and account manager.
|
||||||
5. Under Protocols and ports, check `UDP` and enter the string `1001, 2000, 2005, 3000-4000, 3306, 5000`.
|
5. Under Protocols and ports, check `UDP` and enter the string `1001, 2005, 3000-4000, 5000`.
|
||||||
|
|
||||||
Now lets assign these rules to the server.
|
Now lets assign these rules to the server.
|
||||||
|
|
||||||
@ -213,9 +214,6 @@ Then run all these commands, one at a time, in order.
|
|||||||
# Create a logs folder.
|
# Create a logs folder.
|
||||||
mkdir ~/DarkflameServer/build/logs
|
mkdir ~/DarkflameServer/build/logs
|
||||||
|
|
||||||
# Initialize the database. You will need to enter the password you chose earlier.
|
|
||||||
mariadb darkflame -u darkflame -p < ~/DarkflameServer/migrations/dlu/0_initial.sql;
|
|
||||||
|
|
||||||
# Unzip the server-resources.zip and move files to the proper location. This should spit out a lot of paths.
|
# Unzip the server-resources.zip and move files to the proper location. This should spit out a lot of paths.
|
||||||
unzip ~/server-resources.zip -d ~/server-resources/
|
unzip ~/server-resources.zip -d ~/server-resources/
|
||||||
mv ~/server-resources/server-resources/* ~/DarkflameServer/build/
|
mv ~/server-resources/server-resources/* ~/DarkflameServer/build/
|
||||||
@ -223,14 +221,6 @@ mv ~/server-resources/server-resources/* ~/DarkflameServer/build/
|
|||||||
# Extract the navmeshes.
|
# Extract the navmeshes.
|
||||||
unzip ~/DarkflameServer/resources/navmeshes.zip -d ~/DarkflameServer/build/res/maps
|
unzip ~/DarkflameServer/resources/navmeshes.zip -d ~/DarkflameServer/build/res/maps
|
||||||
|
|
||||||
# Convert the FDB file to an SQLite file.
|
|
||||||
python3 ~/lcdrutils/utils/fdb_to_sqlite.py --sqlite_path ~/DarkflameServer/build/res/CDServer.sqlite ~/DarkflameServer/build/res/cdclient.fdb
|
|
||||||
|
|
||||||
# Fix the SQLite file.
|
|
||||||
sqlite3 ~/DarkflameServer/build/res/CDServer.sqlite ".read ${HOME}/DarkflameServer/migrations/cdserver/0_nt_footrace.sql"
|
|
||||||
sqlite3 ~/DarkflameServer/build/res/CDServer.sqlite ".read ${HOME}/DarkflameServer/migrations/cdserver/1_fix_overbuild_mission.sql"
|
|
||||||
sqlite3 ~/DarkflameServer/build/res/CDServer.sqlite ".read ${HOME}/DarkflameServer/migrations/cdserver/2_script_component.sql"
|
|
||||||
|
|
||||||
# Perform additional networking setup.
|
# Perform additional networking setup.
|
||||||
EXTERNAL_IP=$(curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)
|
EXTERNAL_IP=$(curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)
|
||||||
sudo modprobe dummy
|
sudo modprobe dummy
|
||||||
@ -238,30 +228,16 @@ sudo ip link add eth10 type dummy
|
|||||||
sudo ip addr add $EXTERNAL_IP brd + dev eth10 label eth10:
|
sudo ip addr add $EXTERNAL_IP brd + dev eth10 label eth10:
|
||||||
|
|
||||||
# Setup your config files.
|
# Setup your config files.
|
||||||
sed -i "s/mysql_host=/mysql_host=localhost/g" ~/DarkflameServer/build/authconfig.ini
|
sed -i "s/mysql_host=/mysql_host=localhost/g" ~/DarkflameServer/build/sharedconfig.ini
|
||||||
sed -i "s/mysql_host=/mysql_host=localhost/g" ~/DarkflameServer/build/chatconfig.ini
|
sed -i "s/mysql_database=/mysql_database=darkflame/g" ~/DarkflameServer/build/sharedconfig.ini
|
||||||
sed -i "s/mysql_host=/mysql_host=localhost/g" ~/DarkflameServer/build/masterconfig.ini
|
sed -i "s/mysql_username=/mysql_username=darkflame/g" ~/DarkflameServer/build/sharedconfig.ini
|
||||||
sed -i "s/mysql_host=/mysql_host=localhost/g" ~/DarkflameServer/build/worldconfig.ini
|
sed -i "s/external_ip=localhost/external_ip=$EXTERNAL_IP/g" ~/DarkflameServer/build/sharedconfig.ini
|
||||||
sed -i "s/mysql_database=/mysql_database=darkflame/g" ~/DarkflameServer/build/authconfig.ini
|
|
||||||
sed -i "s/mysql_database=/mysql_database=darkflame/g" ~/DarkflameServer/build/chatconfig.ini
|
|
||||||
sed -i "s/mysql_database=/mysql_database=darkflame/g" ~/DarkflameServer/build/masterconfig.ini
|
|
||||||
sed -i "s/mysql_database=/mysql_database=darkflame/g" ~/DarkflameServer/build/worldconfig.ini
|
|
||||||
sed -i "s/mysql_username=/mysql_username=darkflame/g" ~/DarkflameServer/build/authconfig.ini
|
|
||||||
sed -i "s/mysql_username=/mysql_username=darkflame/g" ~/DarkflameServer/build/chatconfig.ini
|
|
||||||
sed -i "s/mysql_username=/mysql_username=darkflame/g" ~/DarkflameServer/build/masterconfig.ini
|
|
||||||
sed -i "s/mysql_username=/mysql_username=darkflame/g" ~/DarkflameServer/build/worldconfig.ini
|
|
||||||
sed -i "s/external_ip=localhost/external_ip=$EXTERNAL_IP/g" ~/DarkflameServer/build/authconfig.ini
|
|
||||||
sed -i "s/external_ip=localhost/external_ip=$EXTERNAL_IP/g" ~/DarkflameServer/build/chatconfig.ini
|
|
||||||
sed -i "s/external_ip=localhost/external_ip=$EXTERNAL_IP/g" ~/DarkflameServer/build/masterconfig.ini
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Now we need to fill in your password. Make sure to replace `PASSWORD` with the proper value on these lines.
|
Now we need to fill in your password. Make sure to replace `PASSWORD` with the proper value on these lines.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sed -i "s/mysql_password=/mysql_password=PASSWORD/g" ~/DarkflameServer/build/authconfig.ini
|
sed -i "s/mysql_password=/mysql_password=PASSWORD/g" ~/DarkflameServer/build/sharedconfig.ini
|
||||||
sed -i "s/mysql_password=/mysql_password=PASSWORD/g" ~/DarkflameServer/build/chatconfig.ini
|
|
||||||
sed -i "s/mysql_password=/mysql_password=PASSWORD/g" ~/DarkflameServer/build/masterconfig.ini
|
|
||||||
sed -i "s/mysql_password=/mysql_password=PASSWORD/g" ~/DarkflameServer/build/worldconfig.ini
|
|
||||||
sed -i "s|DB_URL = 'mysql+pymysql://<mysql-user>:<mysql-password>@<mysql-host>/<mysql-database>'|DB_URL = 'mysql+pymysql://darkflame:PASSWORD@localhost/darkflame'|g" ~/AccountManager/credentials.py
|
sed -i "s|DB_URL = 'mysql+pymysql://<mysql-user>:<mysql-password>@<mysql-host>/<mysql-database>'|DB_URL = 'mysql+pymysql://darkflame:PASSWORD@localhost/darkflame'|g" ~/AccountManager/credentials.py
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -306,6 +282,10 @@ Once they have an account, the player should be able to change their client's `b
|
|||||||
|
|
||||||
<!-- At the top of the dashboard, you will also see a `Name Approval` button. Click it to switch to a new tab where you can approve custom minifigure usernames. -->
|
<!-- At the top of the dashboard, you will also see a `Name Approval` button. Click it to switch to a new tab where you can approve custom minifigure usernames. -->
|
||||||
|
|
||||||
|
If you want more moderation capabilities (ie name, pet and property approval + more), follow the step guide for [NexusDashboard](https://github.com/DarkflameUniverse/NexusDashboard#manual-linux-installation)
|
||||||
|
|
||||||
|
> Note, if you use NexusDashboard, you will need to add port `8000` to the Google Cloud firewall
|
||||||
|
|
||||||
## Updating Darkflame Universe
|
## Updating Darkflame Universe
|
||||||
|
|
||||||
In the future, updates will be released to DarkflameServer that will include bug fixes and potentially even new features. To update the server, you can run the following commands, in order:
|
In the future, updates will be released to DarkflameServer that will include bug fixes and potentially even new features. To update the server, you can run the following commands, in order:
|
||||||
|
Loading…
Reference in New Issue
Block a user