The Hippie Station branch of SS13
Switch branches/tags
allahakbar ass-eater fix_that_upstream_3 fixes_cat_brains master quicksort_branch revert-9938-yoyobatty-patch-msay-fix upstream-merge-40005 upstream-merge-40353 upstream-merge-40355 upstream-merge-40475 upstream-merge-40482 upstream-merge-40506 upstream-merge-40585 upstream-merge-40642 upstream-merge-40735 upstream-merge-40748 upstream-merge-40825 upstream-merge-40854 upstream-pr-38867 upstream-pr-40531 upstream-pr-40920 upstream-pr-41060 upstream-pr-41083 upstream-pr-41207 upstream-pr-41230 upstream-pr-41240 upstream-pr-41261 upstream-pr-41266 upstream-pr-41270 upstream-pr-41273 upstream-pr-41286 upstream-pr-41287 upstream-pr-41302 upstream-pr-109779 upstream-pr-167657 upstream-pr-280978 upstream-pr-329096 upstream-pr-381234 upstream-pr-393182 upstream-pr-466827 upstream-pr-490375 upstream-pr-594224 upstream-pr-1148566 upstream-pr-1198739 upstream-pr-1210818 upstream-pr-1253765 upstream-pr-1406441 upstream-pr-1444753 upstream-pr-1588669 upstream-pr-1900328 upstream-pr-1925338 upstream-pr-1956756 upstream-pr-2127105 upstream-pr-2574304 upstream-pr-2784273 upstream-pr-2815365 upstream-pr-2912989 upstream-pr-2918522 upstream-pr-2968973 upstream-pr-3261336 upstream-pr-3262840 upstream-pr-3521986 upstream-pr-3733829 upstream-pr-3871459 upstream-pr-4073175 upstream-pr-4099929 upstream-pr-4154134 upstream-pr-4256551 upstream-pr-4428344 upstream-pr-4451700 upstream-pr-4452666 upstream-pr-4452715 upstream-pr-4540210 upstream-pr-4574205 upstream-pr-4586879 upstream-pr-4650584 upstream-pr-4808814 upstream-pr-4821200 upstream-pr-4895015 upstream-pr-4984040 upstream-pr-5047822 upstream-pr-5254167 upstream-pr-5375586 upstream-pr-5518839 upstream-pr-5552295 upstream-pr-5569702 upstream-pr-5621984 upstream-pr-5953251 upstream-pr-6148750 upstream-pr-6157909 upstream-pr-6233930 upstream-pr-6239534 upstream-pr-6244787 upstream-pr-6461508 upstream-pr-6827516 upstream-pr-6844212 upstream-pr-7013675 upstream-pr-7051721 upstream-pr-7120599 upstream-pr-7124904 upstream-pr-7136896 upstream-pr-7152467 upstream-pr-7175329 upstream-pr-7280233 upstream-pr-7286454 upstream-pr-7474517 upstream-pr-7497952 upstream-pr-7511903 upstream-pr-7533768 upstream-pr-7812116 upstream-pr-7989472 upstream-pr-8105690 upstream-pr-8118268 upstream-pr-8257657 upstream-pr-8665438 upstream-pr-8701297 upstream-pr-8741651 upstream-pr-8903846 upstream-pr-9038755 upstream-pr-9125369 upstream-pr-9202917 upstream-pr-9227153 upstream-pr-9329222 upstream-pr-9540039 upstream-pr-9751867 upstream-pr-9762380 upstream-pr-9829211 upstream-pr-9864325 upstream-pr-9871010 upstream-pr-9966251 yoyobatty-patch-14 yoyobatty-patch-155 yoyobatty-patch-420 yoyobatty-patch-fix_r_arms yoyobatty-patch-mentor yoyobatty-patch-multizmap yoyobatty-patch-pool yoyobatty-patch-subsystems yoyobatty-uplink-fix yoyobatty_patch-fix_r_arms
Nothing to show
Clone or download
Pull request Compare This branch is 22507 commits ahead, 485 commits behind tgstation:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Merge remote-tracking branch 'tg/master' into reeeebase Oct 22, 2018
SQL Update ban_conversion_2018-10-28.py Dec 5, 2018
_maps Update multiz_debug.json Dec 11, 2018
code Merge pull request #10038 from HippieStation/upstream-pr-8262859 Dec 13, 2018
config ANCHOR! PR: tgstation#40428 Dec 11, 2018
goon New shuttle chair sprites by Ausops (tgstation#38953) Jul 9, 2018
hippiestation Merge pull request #9984 from HippieStation/upstream-pr-6373194 Dec 13, 2018
html Automatic changelog generation for PR #10038 [ci skip] Dec 13, 2018
icons Merge pull request #10043 from HippieStation/upstream-pr-4962617 Dec 12, 2018
interface shift E & B keybinding stuff (tgstation#41386) Nov 11, 2018
sound Update attributions.txt Dec 2, 2018
strings Update redpill.json Dec 10, 2018
tgui they did surgery on a drop pod pr PR: tgstation#41821 Dec 5, 2018
tools Upstream merge Nov 17, 2018
tts_generator i'm retarded (#8951) Sep 4, 2018
.dockerignore [MIRROR] Adds deploy script. CI artifacts. Dependencies file (#8215) Jul 23, 2018
.editorconfig Adds an editorconfig Jan 30, 2017
.gitattributes Add a Python script to fix DMI conflicts May 21, 2018
.gitignore [MIRROR] Add /tmp to .gitignore (#9144) Sep 17, 2018
.travis.yml Add more TGS ignore branches (#40353) Sep 19, 2018
BSQL.dll [MIRROR] Updates BSQL. Adds thread limiter config (#8391) Jul 29, 2018
Dockerfile Update Travis BYOND and remove a lie (tgstation#40878) Oct 12, 2018
GPLv3.txt Cyberboss vs LICENSE round 27 (#33174) Dec 1, 2017
LICENSE Attempt 2 at getting licensing detection to work Nov 20, 2017
README.md [MIRROR] Pulls the plug on Omegastation (#9175) Sep 25, 2018
TGS3.json fuck this static and the compiler thread and tgs and basically everyt… Sep 4, 2018
appveyor.yml Add more TGS ignore branches (#40353) Sep 19, 2018
dependencies.sh Merge pull request #40818 from AutomaticFrenzy/patch/deps-sh Oct 10, 2018
hippiestation.dme Merge pull request #10081 from HippieStation/upstream-pr-9579064 Dec 12, 2018
libmariadb.dll [MIRROR] Adds BSQL (#8196) Jul 20, 2018
mask.dmi So it turns out something was missing Nov 6, 2018
rust_g.dll [MIRROR] Use rust-g for revision info instead of parsing .git (#9140) Sep 17, 2018
tgstation.dme Merge pull request #10081 from HippieStation/upstream-pr-9579064 Dec 12, 2018

README.md

HippieStation 13 GitHub forks

Website: http://www.hippiestation.com
Code: https://github.com/hippiestation/hippiestation
Wiki https://wiki.hippiestation.com/index.php?title=Main_Page
Discord: Request access here.

Build Status Krihelimeter Percentage of issues still open Average time to resolve an issue Coverage forthebadge forthebadge forinfinityandbyond

ABOUT

This is the Github page for the HippieStation codebase, used on the Space Station 13 server. This codebase is built off the work of many different servers, primarily that of /tg/station 13. Because of this, the repository inherits /tg/station's licensing, among other things. For a full guide on how to set up your own Space Station 13 server, please see the /tg/station README.md. If you would like to contribute to this codebase, first take a look at the CONTRIBUTING.md. Website: https://www.tgstation13.org Code: https://github.com/tgstation/tgstation Wiki https://tgstation13.org/wiki/Main_Page IRC: irc://irc.rizon.net/coderbus or if you dont have an IRC client, you can click here

DOWNLOADING

There are a number of ways to download the source code. Some are described here, an alternative all-inclusive guide is also located at https://wiki.hippiestation.com/index.php?title=Downloading_the_source_code

Option 1: Follow this: https://wiki.hippiestation.com/index.php?title=Setting_up_git

Option 2: Download the source code as a zip by clicking the ZIP button in the code tab of https://github.com/hippiestation/hippiestation (note: this will use a lot of bandwidth if you wish to update and is a lot of hassle if you want to make any changes at all, so it's not recommended.)

Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2)

Option 4: Use our docker image that tracks the master branch (See commits for build status. Again, same caveats as option 2)

docker run -d -p <your port>:1337 -v /path/to/your/config:/hippiestation/config -v /path/to/your/data:/hippiestation/data hippiestation/hippiestation <dream daemon options i.e. -public or -params>

INSTALLATION

First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from https://www.byond.com/download. Once you've done that, extract the game files to wherever you want to keep them. This is a sourcecode-only release, so the next step is to compile the server files. Open hippiestation.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 hippiestation.dmb (DEBUG mode)
hippiestation.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. If problems persist, ask for assistance in irc://irc.rizon.net/coderbus

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, except Extended, as they have various issues and aren't currently being tested, so they may have unknown and bizarre bugs. Extended is essentially no mode, and isn't in the Secret rotation by default as it's just not very fun.

You'll also want to edit config/admins.txt to remove the default admins and add your own. "Game Master" is the highest level of access, and probably the one you'll want to use for now. You can set up your own ranks and find out more in config/admin_ranks.txt

The format is

byondkey = Rank

where the admin rank must be properly capitalised.

This codebase also depends on a native library called rust-g. A precompiled Windows DLL is included in this repository, but Linux users will need to build and install it themselves. Directions can be found at the rust-g repo.

Finally, to start the server, run Dream Daemon and enter the path to your compiled tgstation.dmb file. Make sure to set the port to the one you specified in the config.txt, and set the Security box to 'Safe'. Then press GO and the server should start up and be ready to join. It is also recommended that you set up the SQL backend (see below).

UPDATING

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

Then, extract the new files (preferably into a clean directory, but updating in place should work fine), copy your /config and /data folders back into the new install, overwriting when prompted except if we've specified otherwise, and recompile the game. Once you start the server up again, you should be running the new version.

MAPS

Hippie Station currently comes equipped with five maps.

All maps have their own code file that is in the base of the _maps directory. Maps are loaded dynamically when the game starts. Follow this guideline when adding your own map, to your fork, for easy compatibility.

The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round.

If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in config.txt and then set the maps to be picked in the maps.txt file.

Anytime you want to make changes to a map it's imperative you use the Map Merging tools

AWAY MISSIONS

/tg/station supports loading away missions however they are disabled by default.

Map files for away missions are located in the _maps/RandomZLevels directory. Each away mission includes it's own code definitions located in /code/modules/awaymissions/mission_code. These files must be included and compiled with the server beforehand otherwise the server will crash upon trying to load away missions that lack their code.

To enable an away mission open config/awaymissionconfig.txt and uncomment one of the .dmm lines by removing the #. If more than one away mission is uncommented then the away mission loader will randomly select one the enabled ones to load.

SQL SETUP

The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database

If you are hosting a testing server on windows you can use a standalone version of MariaDB pre load with a blank (but initialized) tgdb database. Find them here: https://tgstation13.download/database/ Just unzip and run for a working (but insecure) database server. Includes a zipped copy of the data folder for easy resetting back to square one.

WEB/CDN RESOURCE DELIVERY

Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server.

  1. Edit compile_options.dm to set the PRELOAD_RSC define to 0
  2. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc.
    • If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers.
    • Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files.

IRC BOT SETUP

Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified IRC channel/server, see the /tools/minibot folder for more

CONTRIBUTING

Please see CONTRIBUTING.md

LICENSE

All code after commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU AGPL v3.

All code before commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU GPL v3. (Including tools unless their readme specifies otherwise.)

See LICENSE and OLD_LICENSE-GPLv3.txt for more details.

tgui clientside is licensed as a subproject under the MIT license. Font Awesome font files, used by tgui, are licensed under the SIL Open Font License v1.1 tgui assets are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. The TGS3 API is licensed as a subproject under the MIT license.

See tgui/LICENSE.md for the MIT license. See tgui/assets/fonts/SIL-OFL-1.1-LICENSE.md for the SIL Open Font License. See the footers of code/__DEFINES/server_tools.dm, code/modules/server_tools/st_commands.dm, and code/modules/server_tools/st_inteface.dm for the MIT license.

All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.