How To Update The Server - SWG-Source/swg-main GitHub Wiki

The purpose of this guide is to show you how to download the latest updates to the various parts of the SWG server code within your VM. That includes any fixes that are published to the SWG Source repositories as well as restored content & items.

Basic Method

This is intended to be the "as easy as possible" solutions. Assuming that your SWG Server is already active you should follow these steps:

  • Open a terminal and switch to the swg-main folder by using cd swg-main
  • Run this command: ant stop (this will close down the running server, forcibly)
  • To download the latest updates and compile any changes run this command: ant update_swg
  • Once completed, launch the server as per normal

Granular Method

This is intended to be used by people doing specific work and knowing exactly what git pull and compile operations they want to use. The two most typical of those being src and dsrc.

  • Open a terminal and switch to the swg-main folder by using cd swg-main
  • Run this command: ant stop (this will close down the running server, forcibly)

This is where the process will deviate from the basic method.

Updating swg-main

  • Open a terminal window and switch to the swg-main folder again
  • Run this command git pull

This updates the build tools used on the VM. A recent example would be the addition of a new sub-module to ant which won't be present on your VM unless you git update the swg-main folder in this manner.

Updating src

  • Open a terminal window and switch to the src folder by using the command cd src
  • Run this command git pull
  • Compile the changes by running ant compile_src

Updating dsrc

  • Open a terminal window and switch to the dsrc folder by using the command cd dsrc
  • Run this command git pull
  • Compile the changes by running ant compile_dsrc

If any of the changes you downloaded and compiled require client side updates then you will need to follow the guide for that before those changes will be available to you. A good example of that would be the vendors in the TCG Black Markets. You can git update the server side and compile the changes but without the corresponding client side updates the vendors simply won't show up when you go to their location.