Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
b08b20e
ubuntu version WIP
christywear Aug 23, 2018
1373680
Add files via upload
christywear Aug 23, 2018
2ab373f
ubuntu readme
Aug 23, 2018
d9ad803
ubuntu revision
Aug 23, 2018
0ebdaae
ubuntu revision
Aug 23, 2018
76cf643
ubuntu revision
Aug 23, 2018
fda9420
updated
Aug 23, 2018
fb6902d
new setup for firewall
Aug 23, 2018
229f292
Update README.md
Aug 25, 2018
90f8528
update merge (#2)
Oct 9, 2018
f619b9d
hmm
christywear Oct 21, 2018
61b464c
Revert "hmm"
christywear Oct 21, 2018
801eb2b
Merge remote-tracking branch 'upstream/dev' into dev
christywear Oct 21, 2018
4e32f68
Revert "update merge (#2)"
christywear Oct 21, 2018
ce76edc
Revert "Revert "update merge (#2)""
christywear Oct 21, 2018
77b2175
updating
christywear Oct 21, 2018
f279dbc
prime fix to respect guild on belief-aligned primes
Dec 13, 2018
4811bf5
updated
christywear Dec 15, 2018
8a2ef94
sfg
christywear Dec 15, 2018
abefc60
newly change
christywear Dec 15, 2018
60d2539
Update LmPlayerDBC.cpp
christywear Dec 15, 2018
cc83c62
Update README.md
Dec 15, 2018
2943d5f
Update README.md
Dec 15, 2018
f08da29
Work in progress
Dec 17, 2018
b128c91
hopefully this finishes the work...
Dec 17, 2018
07f5efa
include path update
christywear Dec 21, 2018
1348408
Merge branch 'ubuntu_build' into autoghost_fix
christywear Dec 21, 2018
5c6a15c
Merge remote-tracking branch 'upstream/dev' into ubuntu_build
christywear Dec 21, 2018
a20b5f3
hmm
christywear Dec 21, 2018
bc82893
chasing the dream
christywear Dec 21, 2018
6f469cd
hmm
christywear Dec 21, 2018
7fcef3f
come back here dream
christywear Dec 21, 2018
d07f146
squish squash
christywear Dec 21, 2018
a89272e
squish!
christywear Dec 21, 2018
1424fe3
gmorning
christywear Dec 21, 2018
452e9bb
strike that reverse it plz
christywear Dec 21, 2018
b171f20
derpfix
christywear Dec 21, 2018
8b6e628
hmmm
christywear Dec 21, 2018
0f408e4
where is it
christywear Dec 21, 2018
02d7dbe
revert
christywear Dec 21, 2018
42005ab
hm
christywear Dec 21, 2018
4cd4ea3
Merge branch 'dev' into ubuntu_build
christywear Dec 21, 2018
23beb95
frack off version control marker
christywear Dec 21, 2018
4014c91
fixing githubs "checking"
christywear Dec 21, 2018
2f188a1
grr
christywear Dec 21, 2018
b95eec7
Merge branch 'autoghost_fix' into ubuntu_build
christywear Dec 21, 2018
175e0be
fixing failed merge
christywear Dec 21, 2018
5bb20c6
..
christywear Dec 21, 2018
fe0199b
twist it bop it
christywear Dec 21, 2018
0d81c40
testing
christywear Dec 21, 2018
e98c2ef
test
christywear Dec 21, 2018
b14b044
stubby
christywear Dec 21, 2018
2f1b005
ohh look a typo
christywear Dec 21, 2018
54f1aa8
hmm
christywear Dec 21, 2018
91dc25c
hmm
christywear Dec 21, 2018
7d00d8a
whered this go
christywear Dec 21, 2018
2f65e20
yay
christywear Dec 22, 2018
2600711
update
christywear Dec 22, 2018
e3dd150
version
christywear Dec 22, 2018
f4a9cb2
Update README.md
Apr 10, 2019
46134fd
Update gamed.vcxproj
Apr 11, 2019
a5073ab
Update liblyra.vcxproj
Apr 11, 2019
4a63fb5
updating to remove problems with root login on db
Jul 17, 2019
85f6d38
Update README.md
Jul 17, 2019
599fe17
Update README.md
Jul 17, 2019
787b1b1
Update README.md
Jul 17, 2019
81f5d20
fixing install.sh for new ubuntu server
Jul 17, 2019
3de7c84
Update install.sh
Jul 17, 2019
21fe336
attempt to delevate script
Jul 18, 2019
95b4552
Update install.sh
Jul 18, 2019
b61fea7
generalising email
Jul 18, 2019
1a10b8a
fixing bugs in new ubuntu server install script
Jul 18, 2019
e2e844f
updating for ubuntu server
Jul 18, 2019
12b3f9b
revert: and check for pass
Jul 18, 2019
bc86784
revert:modified version
Jul 18, 2019
faf5dd2
Strike that, reverse it ty
Jul 18, 2019
01638c0
added remove of db users as well
Jul 18, 2019
392a510
syntax cleanup
Jul 18, 2019
7dc14c2
ohh look randomly misspelled word correction
Jul 18, 2019
6edd2f5
formatting
Jul 18, 2019
9ac09b9
formatting
Jul 18, 2019
ef5cdde
Update install.sh
Jul 18, 2019
43c7fe7
Update uninstall.sh
Jul 18, 2019
bcbecff
added info about uninstall
Jul 18, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vs/ProjectSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"CurrentProjectSetting": "No Configurations"
}
3 changes: 3 additions & 0 deletions .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"PreviewInSolutionExplorer": false
}
Binary file added .vs/slnx.sqlite
Binary file not shown.
331 changes: 183 additions & 148 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,148 +1,183 @@
# Install

## Questions?
Find us in Discord: https://discord.gg/yuDngyj

## CentOS 7

### AWS
* Create a new EC2 instance in your region of choice.
* For now use CentOS. Technically any distro should work but Underlight uses CentOS for its SELinux capabilities. Note: Amazon doesn't have an AMI of its own for CentOS, but you can get it for free in the AMI Marketplace.
* Open ports 7500-7509 TCP in/out.
* Open port 80 if you want an HTTP server.
* Open all inbound/outbound UDP traffic. This will be necessary for agents.
* Log on as centos@ec2-blah.12.34.56.78 with the pem/ppk provided during setup of your instance.
* sudo adduser ulprod
* sudo su
* cd ~ulprod
* cat authorized_keys
* Now paste your public SSH key into here. It can be the same as the one for your root access but it SHOULDN'T BE, I mean are you INSANE?
* chmod 700 .ssh/
* chmod 600 authorized_keys
* restorecon -R -v .ssh

### Build Dependencies -- Run these as root!

`yum install -y epel-release`

`yum update -y`

`yum groupinstall -y "Development Tools"`

`yum install -y bind-utils network-tools pwgen \
p7zip tcsh vim-enhanced screen telnet \
wget pth pth-devel gdbm-devel gdbm dbi \
zlib-devel asciidoc pkgconfig \
python34 python34-setuptools perl-DBD-mysql`

`easy_install-3.4 pip`

### Ninja

`cd /usr/src`

`git clone git://github.com/ninja-build/ninja.git`

`cd ninja`

`git checkout release`

`./configure.py --bootstrap`

`./ninja rpm`

`rpm -i <insert ninja RPM filename here>`

Verify: `ninja`

### Meson

`pip3 install meson=0.44`

Verify: `meson`

### Install MariaDB

`cd /etc/yum.repos.d`
`vim MariaDB.repo`
* Add this to that file in vim
`[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
`

`yum update -y`

`yum install MariaDB-server MariaDB-client MariaDB-devel -y`

`systemctl enable mariadb`

`systemctl start mariadb`

`mysql_secure_installation`

Note: Be sure to remember the root password for MariaDB. This will be needed
for configuring the server after building.

`cd /usr/lib64`
`ln -s libmysqlclient.so.18 libmysqlclient.so`

`vi /etc/my.cnf.d/server.cnf`

Uncomment the line bind-address=0.0.0.0 and enable skip-name-resolve

```
[mariadb]
...
bind-address=0.0.0.0
skip-name-resolve
...
```

Restart MariaDB

`systemctl restart mariadb`

### Clone Repository & Build

For security it is best to build and run server as a regular user. The
development environment user is 'uldev'. The test and production servers use
'ulprod'. The instructions following assume cloning and building will be done
from the current user home directory.

`git clone https://github.com/openunderlight/ULServer`

`cd $HOME/ulserver/build`

`meson ..`

`ninja`

### Install Server

`cd $HOME/ulserver/build/scripts`

`./install.sh`

Follow the prompts for entering the root password and IP address assignment.

### Load Level Files

Copy the server level files generated by the level editor to $HOME/lyra/src

`cd $HOME/lyra/src`

`make level`

### Start Server

`cd $HOME/lyra/bin`

`./ulctl start`

### Shutdown Server

`cd $HOME/lyra/bin`
`./ulctl stop`
Install
Questions?
Find us in Discord: https://discord.gg/yuDngyj

You may use AWS new ECT instance in region of choice or as I did for this virtualbox, instructions on my setup below:

VIRTUALBOX ubuntu setup / config:

Ubuntu 18.04 LTS https://www.ubuntu.com/download/server
Virtualbox 5.2.18r124319 https://www.virtualbox.org/wiki/Downloads


Following are my settings, yours may vary.

Open Virtualbox Manager
Create New vm
Name: Ubuntu
Type: Linux
Version Ubuntu (64-bit)

Memory Size: 8192 (or whatever you want to dedicate to it)


Create a virtual hard disk now
VDI
Dynamically Allocated


type in or select by clicking file folder icon, where you want your virtual hard disk to be created.
I choose D:\vboxdrive\ubuntu.vdi
yours may be C:\Users\whateveryourusernameis\VirtualBox VMs\ubuntu
or wherever you choose and have space.

Select disk space you want to give it with slider bar or type it.
all in all should take up around 5.1gb installed but give space to grow
10gb should be a good starting point.


Now you should see your Ubuntu vm, Left click it once, then click on settings.
Click on network tab, click on attached to: drop down, select Bridged Adapter click ok.


You'll see a pop up, "Select start-up disk"
click on the little folder with green arrow, find and select
ubuntu-18.04.1-live-server-amd64.iso (or appropriate name)


Select English or whatever language prefered.


Install Ubuntu


select network


enter proxy server if you have one


mirror for alt install if you use it.


Use entire disk


select disk
done
The development environment user is 'uldev'. The test and production servers use
'ulprod'. The instructions following assume cloning and building will be done
from the current user home directory.

name: ulprod
server name: ulprod
username: ulprod
pass: thisisabadpasswordchangeme
pass: thisisabadpasswordchangeme

install any packages or popular "snaps"
selected none


Installation finished
reboot now



Setting up UBUNTU for ul server:

Login: ulprod
Pass: thisisabadpasswordchangeme


sudo apt update && sudo apt dist-upgrade && sudo apt autoremove
Pass:thisisabadpasswordchangeme

sudo do-release-upgrade -d

sudo apt-get update
reboot to make sure changes are applied if updated.

sudo add-apt-repository main;
sudo add-apt-repository universe;
sudo add-apt-repository restricted;
sudo add-apt-repository multiverse;
sudo apt update
sudo apt upgrade
sudo apt update
sudo apt-get update
reboot to make sure changes are applied if updated.

sudo apt-get install build-essential mtools python-pip python3-pip ninja-build meson libpth-dev libgdbm-dev tcsh libgdbm-dev pwgen -y
sudo apt update
reboot to make sure changes are applied if updated.

Install MariaDB

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
apt update
sudo apt install software-properties-common mariadb-server libmysqlclient-dev -y
mysql_secure_installation
Enter root password (KEEP THIS SAFE, and remember it please)





lets check firewall and open ports.

sudo ufw status
Status:inactive

sudo ufw enable
Firewall is active and enabled on system startup

sudo ufw allow 7500:7509/tcp
sudo ufw allow 1:65535/udp
sudo ufw allow 22/tcp
sudo ufw allow 3306/tcp

confirm open ports ..
sudo ufw status

Clone Repository & Build
For security it is best to build and run server as a regular user. The development environment user is 'uldev'. The test and production servers use 'ulprod'. The instructions following assume cloning and building will be done from the current user home directory.

cd ~

git clone -b ubuntu_build https://github.com/christyganger/ULServer

cd $HOME/ULServer/build

meson ..

ninja

cd ~/ULServer/build/scripts



sudo ./install.sh
enter the database root password you made before.

Available IP addresses
127.0.0.1

cd ~/lyra/bin

To start the server:
./ulctl start

To stop the server:
./ulctl stop

To verify it's running.
ps -ef | grep game

to uninstall and (for whatever reason) the database and users of db ( can be repeated for each host if there are multiple entries for users in mysql.)
cd ~/ULServer/build/scripts/
./uninstall.sh

To reinstall
cd ~/ULServer/build/scripts/
./install.sh
Loading