Setting up a stand-alone SWGEMU server with Debian 9

Thanks to Anobizl, TheTinyPebble, Tyclo & Desporo from Sentinel’s Republic for their help in pulling it all together, and to Gyrantol for writing the original guide.

First, install Debian 9.

Download and create a Debian 9 boot CD or USB stick.

  • Boot your machine from the Debian 9 media and follow the install instructions.
  • Set root password and create user vagrant
  • Only select xfce and untick the rest of the default options
  • On reboot log into user vagrant

Open a terminal and

  • type su and press enter
  • Enter root password
  • (if used cd/dvd install navigate to /etc  and type chmod–R 777 apt)
  • Edit /etc/apt/sources.list using an editor like mousepad, vi or nano and either # the deb cd line or delete it completely.

Set up user permissions

  • Type apt-get install sudo
  • Once installed type
  • visudo
  • An editor will open use the down arrow keyuntil you see the line
  • root  ALL= (ALL:ALL) ALL
  • place the cursor underneath and type
  • vagrant ALL=(ALL:ALL) ALL
  • and press enter
  • Then press ctrl & x together and press y to agree to save
  • Press enter to accept default save location
  • Type
  • exit

Go back to the terminal window

  • type sudo apt-get update
  • sudo apt-get install -y git curl screen time gedit
  • echo ‘vagrant ALL=(ALL) NOPASSWD:ALL’ | sudo tee /etc/sudoers.d/99_vagrant
  • git clone -b release-1.5 https://github.com/Zonama/ZonamaDev.git

26-12-2018 – failing on firstboot, the following should fix that by installing the latest chrome

1. Download and install the key 

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

2. Add the key to the repository

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

3. Finally, Update repository and install Google Chrome.

sudo apt-get update
sudo apt-get install google-chrome-stable
  • sudo ~/ZonamaDev/basebox/scripts/firstboot

this will start the install process and will take a while
please be patient and wait for firstboot success message to show.

  • type sudo apt-get install curl (just in case it got removed)
  • sudo chown -R vagrant:vagrant ~vagrant
  • ~/ZonamaDev/fasttrack/bin/zdcfg clear-flag suspend_devsetup
  • ~/ZonamaDev/fasttrack/bin/zdcfg clear-flag suspend_fasttrack
  • sudo dpkg-reconfigure lightdm
  • sudo systemctl set-default graphical.target
  • init=/lib/systemd/systemd
  • sudo apt-get install grub
  • GRUB_CMDLINE_LINUX_DEFAULT=”quiet splashinit=/lib/systemd/systemd”
  • sudo update-grub
  • sync;sync;sudo init 6

The machine will now reboot. If on reboot you get a black login screen with vagrant (TTY) log in using your vagrant username and password.

  • Then type sudo service lightdm start

the GUIshould now load, repeat the lines above from sudo dpkg-reconfigure lightdm up to and including update-grub

I had to delete /home/vagrant/workspace/PublicEngine before doing this next step as it failed due to that folder already existing

On reboot devsetup should start prompting for time zone, gerritt username etc… just follow the instructions as per setting up a VM.

Once system has built copy TRE files into swgemu folder on desktop.

To change the GIT repository

  • open a terminal window and type cd workspace/MMOCoreORB
  • then type git init
  • git remote rm origin
  • type git remote add origin <url of your github repository>
  • now type git fetch –all
  • you should be prompted for your username and password
  • When it has finished type git reset –hard origin/dev
  • once that is done successfully you can then run a build

/src/CMakeLists.txt
edit and add a space to a comment, to refresh the cache

If you are using a non-basic EMU install (eg. private server) then you will need to change the
/home/vagrant/workspace/MMOCoreORB/bin/conf/config.lua
file to contain your TRE files, in order from newest to oldest.

Sentinel’s Republic tweaks

Fixing the server to run locally (stops the segfaulting)

src/server/zone/managers/resource/ResourceManagerImplementation.cpp
remove unused planets from loadDefaultConfig()

src/server/zone/managers/resource/resourcespawner/ResourceSpawner.cpp
remove planets not used (galaxy harvester stuff)

bin/scripts/managers/resource_manager.lua
remove planets from nativepoolincludes and activezones