dylanstrategie 27be630bea Update window code
That code was old and fucky, goddamn

- Span, formatting, newline, visible_message, yeah
- Separate sprites for window panes and full windows. Might need a bit
more refining still, but that's that
- Remove deprecated commented silicate code. If anyone ever wants to
include something akin to silicate, they would benefit from just
recoding it from scratch. An item that adds health and potentially
changes sprite color can't be that hard to make
- Reduce normal window health by 4 to 10. Why would you use plain
windows
- Remove stupid paths that caused shitty inheritance. window/basic and
window/full/basic were dumb as fucking shit and no longer exist (both
transferred to their respective tree parent, for whatever variables
needed transplating, so 2-3). All full window types under full/ all
reinforced window types under reinforced/, all in that order
- Add in more examine() information (construction state and health)
- Add in healthcheck() to replace destroy(), hit() and all that logging
and variable juggling bullshit in about every proc where the window can
be damaged
- ex_act(), blob_act(), meteorhit() now deplete health only and no
longer magically delete or Destroy() windows. Looks a bit ugly on ex_act
3 since reinforced windows can't be destroyed but grilles always are,
and plasma windows still don't block explosions even if they're now
almost bomb-proof, but that's progress
- Remove window damage on passive grab window "slam", massively increase
mob damage on neck/kill window slam (if you let yourself get grabbed
that far, you deserve to die)
- Change construction from that ugly variable juggling to a fancy and
functional switch() construction code. Include bitflags and
deconstruction safety
- All files that were modified outside of window.dm and fullwindow.dm
are compatibility fixes

Try as I might, I couldn't fix #3515. It appears to be fundamentally
fucked due to the way pushing objects (you enter the window's tile) and
pulling objects (you cannot reach the other side of the window, ever)
works. Maybe someone else will manage it
2015-03-23 13:47:48 +01:00
2015-03-23 13:47:48 +01:00
2015-03-14 01:17:41 +01:00
CL
2015-03-19 17:12:36 -05:00
2015-03-23 13:47:48 +01:00
2015-03-16 19:41:52 -05:00
2015-03-23 13:47:48 +01:00
2015-03-10 17:22:29 -05:00
2015-03-06 00:33:27 +11:00
2015-02-16 21:50:34 -05:00
2015-02-24 18:54:56 -08:00

vgstation

Website - Code - IRC (irc.rizon.net #vgstation)


GETTING THE CODE

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

Click here to get the latest stable 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/d3athrow/vgstation13.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.

Branches

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

  • master - "stable" code, used on the main server.
  • Bleeding-Edge - The latest unstable code. 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 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.

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 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 and stats tracking requires a MySQL server. (Linux servers will need to put libmysql.so into the same directory as baystation12.dme.) Your server details go in /config/dbconfig.txt.

We've included a web control panel with some sample data readouts. It's recommended to install the database through sphinx, which is included and includes some updates.


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.

Languages
DM 92.5%
JavaScript 3.8%
TypeScript 1%
Logos 0.7%
HTML 0.5%
Other 1.3%