Skip to content
Butts
DM JavaScript HTML Python CSS Java Other
Branch: Bleeding-Edge
Clone or download
PJB3005 and ShiftyRail Adds more AI names. (#25117)
* Adds X.A.N.A. AI name

* Add VIKI too

* Add ALICE too
Latest commit fd2193d Nov 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Adds the changelog prefixes from example.yml to the New PR template (#… Apr 29, 2019
SQL Added a button to general settings, allowing players to chose their p… Aug 26, 2019
__DEFINES Properly adds hiding hair to the given items Nov 16, 2019
bot Add MediaWiki and GitHub plugins, based on a bot from Mloc. Feb 8, 2015
code Merge pull request #25096 from vgstation-coders/revert-24919-Silicon-… Nov 21, 2019
config-example modified: config-example/admins.txt Jun 7, 2019
config Adds more AI names. (#25117) Nov 21, 2019
data Ability to disable VOX entirely for event maps. Nov 1, 2019
docs More work on Saycode, add graphical documentation. Oct 8, 2015
goon Merge pull request #25034 from brndd/sol_common_darkmode Nov 15, 2019
html [ci skip] Automatic changelog update. Nov 21, 2019
icons Clown Psychedelic Suit (#25057) Nov 20, 2019
interface Map popups (#24352) Oct 25, 2019
libs updated markdown to have more extensions available + added readme for… Sep 5, 2016
libvg Fix travis (#23873) Aug 15, 2019
maprendering Bleeding-edge into role_datums, episode 3: revenge of git merge (#18712) Jul 3, 2018
maps adds firelock under cargo vendor (#25092) Nov 19, 2019
maptools cleaning script too Nov 3, 2019
nano smart lights and nano light replacer (#24959) Nov 14, 2019
scripts Preference helper script (#24873) Nov 11, 2019
sound Adds Mime Goblins (#25040) Nov 20, 2019
tools Removes the rest of the calls to lentext() (#24877) Nov 8, 2019
.byond_version Create .byond_version Apr 5, 2017
.editorconfig Changelog Tool Overhaul (#24699) Nov 5, 2019
.gitattributes Role datums rebase (#19648) Sep 11, 2018
.gitconfig Ports DMItool from bay (#12784) Dec 22, 2016
.gitignore Adding libvg.so to gitignore Apr 27, 2019
.travis.yml [DNM] Comment Out Changelog Tool in Travis (#24856) Nov 5, 2019
CODE_OF_CONDUCT.md code of conduct - short and sweet edition (#17340) Feb 7, 2018
CONTRIBUTING.md formatting, expansion on server polls Jul 31, 2017
COPYRIGHT full GPLv3 license (#19888) Oct 5, 2018
LICENSE full GPLv3 license (#19888) Oct 5, 2018
README.md Updates the discord invite link info since it got deleted (#21490) Feb 1, 2019
cleanLogs.bat Return of the boxing ring. Nov 13, 2013
libmysql.dll Added libmysql.dll, a required file many lack to get the MySQL functi… Sep 1, 2010
libvg.dll Statically link MSVCRT into libvg. (#14310) Mar 11, 2017
players2_empty.sqlite browser datums, git being dumb, and a .sql file update May 1, 2015
vgstation13.dme Screen Alarms (#25064) Nov 20, 2019

README.md

/vg/station Build Status

forinfinityandbyond

Website - Code

IRC (irc.rizon.net #vgstation), here is an embedded link to it: Visit our IRC channel

Discord Coding Server Invite Link: No longer available from github due to spambots using it. Ask on the /vg/ thread for a link or join the IRC at the link above and ask for an invite, there's a bot that relays messages between IRC and discord.


GETTING THE CODE

The simplest but least useful way to obtain the code is using the Github .zip feature. You can click here to get the latest stable code as a .zip file, then unzip it to wherever you want. Alternatively, a much more useful method is to use a git client, the process for getting and using one is described below, (for more information our coders in IRC can tell you how to use one).

Git client

The more complicated but infinitely more useful way is to use a 'git' client.

We recommend and support our users using the smartgit client, obtainable at smartgit. After installing it, create a new file folder where you want to host the code, right click on that folder and click on "Open in Smartgit".

When that opens, click repository at the top left and choose 'clone'. You can either use the link for the main repository https://github.com/vgstation-coders/vgstation13.git, or to clone your own fork the format is https://github.com/USERNAME/REPONAME.git, just copy the URL at your fork and add .git.

Updating the Code

After you have cloned, make sure you have a remote to the main repository and your own forked repository by making a remote using the links above. By right clicking on your remote to this repo you can 'pull' the most recent version of the code from the main repository.

You can then create new branches of code directly from our Bleeding-Edge branch on your computer.

Warning: If you checkout different branches or update the code while Dream Maker is open, this can cause problems when someone adds/removes files or when one of the files changed is currently open.

Branches

Keep in mind that we have multiple branches for various purposes.

  • master - "stable" but ancient code, it was used on the main server until we realized we like living on the edge 😎.
  • Bleeding-Edge - The latest code, this code is run on the main server. Please do any development against this branch!

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 vgstation13.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 vgstation13.dmb (DEBUG mode)

vgstation13.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.

To use the SQLite preferences, rename players2_empty.sqlite to players2.sqlite

Next, copy everything from config-example/ to config/ so you have some default configuration.

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. "Host" is the highest level of access, and the other recommended admin levels for now are "Game Master", "Game Admin" and "Moderator". The format is:

byondkey - Rank

where the BYOND key must be in lowercase and the admin rank must be properly capitalized. 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 vgstation13.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.

Linux

We use a Rust library called libvg to handle some things like UTF-8 handling. A Windows build is shipped with the code (libvg.dll), however a Linux version is not. If you want to run /vg/station13 on Linux, you will have to compile this binary yourself (or ask for a build on Discord). See libvg/readme.md for details on how to compile it.


Configuration

For a basic setup, simply copy every file from config-example/ to config/ and then add yourself as admin via admins.txt.


SQL Setup

The SQL backend for the library and stats tracking requires a MySQL server. (Linux servers will need to put libmysql.so into the same directory as vgstation13.dme.) Your server details go in /config/dbconfig.txt.

The database is automatically installed during server startup, but you need to ensure the database and user are present and have necessary permissions.


IRC Bot Setup

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

You can’t perform that action at this time.