The code for Baystation12's branch of SS13
DM HTML Python JavaScript CSS Shell
Latest commit 4ba5d25 Jul 30, 2016 @PsiOmegaDelta PsiOmegaDelta committed on GitHub Merge pull request #13835 from Raptor1628/dev
Torch Items Part 5: Bits and Bobs
Failed to load latest commit information.
.github add a note to remove the space in the issue template Jun 6, 2016
bot Another small refactor Nov 26, 2015
code Merge pull request #13835 from Raptor1628/dev Jul 30, 2016
config neural lace changelog Jun 29, 2016
html Merge pull request #13738 from Kearel/itemSwallowing Jul 29, 2016
icons Merge pull request #13835 from Raptor1628/dev Jul 30, 2016
ingame_manuals Implements github suggestions May 23, 2015
interface Add options for 3x and 4x upscaling, for players with very large moni… Jun 19, 2016
lib Merge branch 'master' into dev Mar 8, 2014
maps Merge pull request #13835 from Raptor1628/dev Jul 30, 2016
maps_deprecated/kunpeng Moves the Kun-Peng maps. Jul 14, 2016
nano Updates the NanoUI map. Jul 11, 2016
news_articles Adds SPACE magazine Issue III Jun 22, 2016
scripts Merge pull request #13320 from PsiOmegaDelta/160608-InsertMapHere Jun 9, 2016
sound adds tgui for the cargo controller Jul 18, 2016
sql urgent server-side fix for migrations Jul 1, 2016
tgui Moves unimplemented tgui inferfaces to a folder out of scope of rsc s… Jul 18, 2016
tools Fixes mapmerger polluting diffs with line ending and encoding changes Jun 16, 2016
~code Fix initialisation order of global_init and other global vars Jun 6, 2016
.gitattributes Automatic DMI merge stuff Nov 26, 2014
.gitconfig Added merge driver for .dmm files. Nov 11, 2012
.gitignore Updates ignore lists for mapmergepy Jul 18, 2016
.travis.yml Updates Travis' macro count. Jul 29, 2016
COPYING clear up licensing situation Jan 6, 2015
LICENSE-AGPL3.txt Changes Baystation12 to now be licensed under AGPL. Jan 5, 2015
LICENSE-GPL3.txt clear up licensing situation Jan 6, 2015
README.md update irc link in readme Apr 21, 2016
baystation12.dme Merge pull request #13583 from PsiOmegaDelta/160704-510Scheduler Jul 29, 2016
baystation12.int Backpack and box storage capacity set to 16 and 8 respectively. Maxim… Jan 5, 2016
flyway.conf Use flyway for SQL setup/migration Feb 9, 2016
install-byond.sh Makes install-byond.sh more robust. Jan 28, 2016
libmysql.dll Added libmysql.dll, a required file many lack to get the MySQL functi… Sep 1, 2010

README.md

baystation12

Website - Code - IRC


LICENSE

Baystation12 is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt.

Commits with a git authorship date prior to 1420675200 +0000 (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt.

All commits whose authorship dates are not prior to 1420675200 +0000 are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files.

If you wish to develop and host this codebase in a closed source manner you may use all commits prior to 1420675200 +0000, which are licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPLv3 you are required to provide full source code for your servers users as well including addons and modifications you have made.

See here for more information.

GETTING THE CODE

The simplest way to obtain the code is using the github .zip feature.

Click here to get the latest code as a .zip file, then unzip it to wherever you want.

The more complicated and easier to update method is using git. You'll need to download git or some client from here. When that's installed, right click in any folder and click on "Git Bash". When that opens, type in:

git clone https://github.com/Baystation12/Baystation12.git

(hint: hold down ctrl and press insert to paste into git bash)

This will take a while to download, but it provides an easier method for updating.

Once the repository is in place, run this command:

cd Baystation12
git update-index --assume-unchanged baystation12.int

Now git will ignore changes to the file baystation12.int.

INSTALLATION

First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from here.

This is a sourcecode-only release, so the next step is to compile the server files. Open baystation12.dme by double-clicking it, open the Build menu, and click compile. This'll take a little while, and if everything's done right you'll get a message like this:

saving baystation12.dmb (DEBUG mode)

baystation12.dmb - 0 errors, 0 warnings

If you see any errors or warnings, something has gone wrong - possibly a corrupt download or the files extracted wrong, or a code issue on the main repo. Ask on IRC.

Once that's done, open up the config folder. You'll want to edit config.txt to set the probabilities for different gamemodes in Secret and to set your server location so that all your players don't get disconnected at the end of each round. It's recommended you don't turn on the gamemodes with probability 0, as they have various issues and aren't currently being tested, so they may have unknown and bizarre bugs.

You'll also want to edit admins.txt to remove the default admins and add your own. "Game Master" is the highest level of access, and the other recommended admin levels for now are "Game Admin" and "Moderator". The format is:

byondkey - Rank

where the BYOND key must be in lowercase and the admin rank must be properly capitalised. There are a bunch more admin ranks, but these two should be enough for most servers, assuming you have trustworthy admins.

Finally, to start the server, run Dream Daemon and enter the path to your compiled baystation12.dmb file. Make sure to set the port to the one you specified in the config.txt, and set the Security box to 'Trusted'. Then press GO and the server should start up and be ready to join.


UPDATING

To update an existing installation, first back up your /config and /data folders as these store your server configuration, player preferences and banlist.

If you used the zip method, you'll need to download the zip file again and unzip it somewhere else, and then copy the /config and /data folders over.

If you used the git method, you simply need to type this in to git bash:

git pull

When this completes, copy over your /data and /config folders again, just in case.

When you have done this, you'll need to recompile the code, but then it should work fine.


Configuration

For a basic setup, simply copy every file from config/example to config.


SQL Setup

The SQL backend for the library/stats and bans requires a MySQL server. Your server details go in config/dbconfig.txt.

For initial setup and migrations refer to sql/README.md


IRC Bot Setup

Included in the repo is an IRC bot capable of relaying adminhelps to a specified IRC channel/server (thanks to Skibiliano). Instructions for bot setup are included in the /bot/ folder along with the bot/relay script itself.