Git Product home page Git Product logo

deep-space-13's Introduction

/tg/station codebase

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

Website: https://www.st.ddmers.com Code: https://github.com/DDMers/Deep-Space-13 Wiki https://st.ddmers.com/wiki/Main_Page IRC: if you dont have an IRC client, welcome to the modern day.

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://www.tgstation13.org/wiki/Downloading_the_source_code

Option 1: Follow this: https://www.tgstation13.org/wiki/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/DDMers/Deep-Space-13 (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: 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:/tgstation/config -v /path/to/your/data:/tgstation/data tgstation/tgstation <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 tgstation.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 tgstation.dmb (DEBUG mode)
tgstation.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.

HOSTING

If you'd like a more robust server hosting option for tgstation and its derivatives. Check out our server tools suite at https://github.com/tgstation/tgstation-server

MAPS

/tg/station currently comes equipped with four 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 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.

deep-space-13's People

Contributors

anturk avatar aranclanos avatar changelingrain avatar cheridan avatar coiax avatar cyberboss avatar duncathan avatar giacom avatar iamgoofball avatar ikarrus avatar imtakingabreakdontatme avatar incoming5643 avatar jordie0608 avatar korphaeron avatar lzimann avatar mrstonedone avatar neersighted avatar optimumtact avatar phil235 avatar razharas avatar remierichards avatar robustin avatar shizcalev avatar silicons avatar spacemaniac avatar tgstation-server avatar theoperand avatar tkdrg avatar vuonojenmustaturska avatar xdtm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

deep-space-13's Issues

Intrepid Issues

  • Atmos techs don't have access to anywhere in engineering
  • Plasma gets instantly drained into nacelles
  • Distro superpressurizes
  • Bridge shuttle chairs in wrong orientation
  • The custom roles arn't showing up in their department sections in crew manifest
    or 'renamed'
  • Some airlocks are unnammed
  • Tiny fan missing in southern right airlock
  • Merc ship may be non existant in the intrepid.
  • Science and Weapons consoles are out of talking range of each other.
  • Intrepid overmap lacks damage overlays.
  • CMO office door access set is set to HEADS instead of CMO.

RESISTANCE IS FUTILE - Borg Ability is too loud and too often

Round ID: 245

Reproduction: if you're a borg, you can use the resistance is futile sound line far too far too often, it also blows out the eardrums of anyone playing as it uses a second volume slider in windows mixer which defaults to maximum volume.

I assume this is due to it being reused from TG so not a KMC problem, just a SS13 problem.

Med staff don't have access to sleeper room/chem lab

Round ID:

Testmerges:

Round ID: 26
BYOND Version: 512.1460
Server revision compiled on:
Master commit: 37104ad
The following pull requests are currently test merged:
#10: '(tested) Re-adds re-adding EMHs' by Kmc2000 at commit 9fb7407

Local commit: 6c9f4f9
Server tools version: 4.0.1.4

Reproduction:

  1. Attempt to enter the sleeper room via the doors as MD/CMO
  2. fail to gain entry

it also seems chemists won't be able to open/leave their lab

to note, the airlocks are labeled as 'research wing'.

6/4/2019 Round 272 Suggestions

Automatically change swearing / cursing to something whimisically trek.

Have a map of ODN relays and their settings in engineering.

Give Borg mining tools and a generator that they can create a borg fortress with.

The Captain Cannot Access the Transporter.

Round ID: Not sure. First round of our last test.

Testmerges: N/A

Reproduction: Can't Reproduce it, can't run the server myself.

As a captain, I cannot access the terminal for the transporter. A "Secuirty access is required" Message pops up when i try.

Estimate effort required for merging from upstream

This repository is a fork of tgstation.
It was forked from commit #57c6448 (tgstation state at the time of the fork).
It happened on 7th January.

It's been over 4 months since the fork. On 7th January, tgstation had 61585 commits. As of writing, it has 62999 commits. That is 1414 commits difference.

The sheer volume of the divergence is expected to make merging from upstream difficult. Estimate effort required to merge from upstream, and map out the kind of bugs that may occur due to merge.

Shaft Miner PDA sprites

Round ID:

Testmerges:

Round ID: 93
BYOND Version: 512.1453
Server revision compiled on:
Master commit: b58ec82
The following pull requests are currently test merged:
#27: 'Resprites some common tools+items, fixes medbay doors' by Kmc2000 at commit 33765af

Local commit: d021776
Server tools version: 4.0.1.4

Reproduction:

The sprite for the shaft miner's PDA is broken, it's only a grey line.

Reintroduction of escape pods

In a previous build, there were escape pods useable by members of the crew, in a situation where the shuttle has been called, they would be useable by the crew to abandon ship if say.. the hallway had fallen down to the level below it as happened in R:247

Lattice and Calkway z-level bug

Round ID: 234

Testmerges:

Local commit: a33d354
Server tools version: 4.0.1.4

Reproduction:

Put lattice down on open floor, or catwalk on open floor.
Look as Lattice/catwalk is on the z-level under.
Fall through when trying to walk on lattice/catwalk
Cry
Repeat

IA radio issues

Round ID:

440

Testmerges:

Server revision compiled on:
Master commit: fabb967
The following pull requests are currently test merged:
#104: 'Columbia Escort Frigate' by Vasily2013 at commit e14f56d
#111: 'Fixes some weird runabout behaviour' by Kmc2000 at commit e3f21bb

Reproduction:

Step 1: play IA; Step 2: observe radio, and how it only has supply, command, and service channels.
image

Decapitation sometimes leads into the head being nullspace'd

Round ID: 440

Testmerges:

Master commit: fabb967
The following pull requests are currently test merged:
#104: 'Columbia Escort Frigate' by Vasily2013 at commit e14f56d
#111: 'Fixes some weird runabout behaviour' by Kmc2000 at commit e3f21bb

Local commit: cdf6096f6d23ec30d63a50b6a0f1d3dc1761173c
Server tools version: /tg/station 13 Server v3.2.6.2

Reproduction:

Step 1: Have someone
Step 2: Have a weapon that can dismember
Step 3: Hack the head away
Step 4: Have it go in the shadow realm

Ghosts can be transported and are logged in the console

Round ID: 345

Testmerges:

#87

Reproduction:

Have a ghost stand on the teleporter and beam it down to a location. It'll be moved and logged in the console - shown is an instance of this logging and a crew manifest showing the two of names logged are not crew members. They were ghosts, I was one of them.

Mapping Check Megathread

Mixed Air Supply Control at Atmospherics (128, 146, 2):

Failed to find a valid outlet injector as an input with the tag air_in.
Failed to find a valid siphon pump as an outlet with the tag air_out.

Unconnected air supply pipe located at Command Hallway (112, 143, 4) (JMP)
Unconnected air supply pipe located at Command Hallway (116, 143, 4) (JMP)
https://i.imgur.com/SHO0yDY.png

Unconnected air supply pipe located at Engineering Maintenance (99, 148, 2) (JMP)
Unconnected air supply pipe located at Engineering Maintenance (101, 148, 2) (JMP)
https://i.imgur.com/il1KqC0.png

Unconnected scrubbers pipe located at Engineering (106, 125, 2) (JMP)
https://i.imgur.com/icRlrWy.png

Unconnected air supply pipe located at Engineering (113, 111, 2) (JMP)
https://i.imgur.com/xcXFMG1.png

Unconnected scrubbers pipe located at Engineering (122, 125, 2) (JMP)
https://i.imgur.com/2VqrcYL.png

Unconnected pipe located at Atmospherics (137, 147, 2) (JMP)
https://i.imgur.com/gr6azcu.png

Unconnected scrubbers pipe located at Brig (84, 145, 3) (JMP)
https://i.imgur.com/TsjeP9d.png THIS EQUIPMENT IS ALSO STACKED. SPLIT THEM, THIS IS AN INVALID STATE

Unconnected air supply pipe located at Bridge (112, 145, 4) (JMP)
Unconnected air supply pipe located at Bridge (116, 145, 4) (JMP)
https://i.imgur.com/SHO0yDY.png

Shipside AT: https://i.imgur.com/yCvdp2C.png

The Unimatrix Wreck has too many to list.
The Comet has even more.
Same with the Retro.

Staff Report 19/01/2019

o EMH Bugs:

  • It can be killed
  • It can be summoned against its will
  • Admin ghosting as the EMH will ask ghosts if they want to be the EMH

o Airlocks not transparent
o Comms on all decks
o Access is inconsistent for every job
o No QM access to cargonia
o Both buttons on the wall in chem do the same thing
o Hull should be named tritanium
o every wall in the map is on ssfastprocess or something
o exponential CPU leak
o greytide mcgee and the traitor three can access the SM without effort due to mapping of ladders.
o STATION HAS NO SIGNPOSTING
o Remove SM ladders
o Add an extra layer of vertical airlocks for escape
o ADD ATMOS

Staff Report 02/02/2019

  • Door to chemistry is a research door not a medical door.
  • You can only enter the translocater from the bottom left of the sprite
  • Server seperates into two instances even on low population
  • Slimes spawn dead in Xeno
  • Still able to spawn as AI with the AI preference off
  • Arrival timings need to match crew pop / security pop
  • Borg Adaptation is too slow with few Borg.

6/4/2019 Round 272 Bug Report

Rock Walls can't be assimilated

Borg toolset names are not "trekified"

Borg Spawn before they're used in the round
(Sidenote) Borg given mining tools and a generator can create a borg fort which is infinitely more powerful then their starter status, this is fantastic

Cancelling creation of holocomm NPC creates an invisible creature and tells the crew theres a holocomm coming in

Escaping in an escape pod gives the: You managed to survive, but were marooned ending

S31 can't change the ringtone on their Padd to access equipment

Uniform Jackets

Round ID:

Round ID: 10
BYOND Version: 512.1460
Server revision compiled on:
Master commit: 9f197fa
The following pull requests are currently test merged:
#5: 'Adds emergency medical holograms!' by Kmc2000 at commit cc63d13

Local commit: c79c944f5fafce3f038a3c98e0a3c59ad60a8852
Server tools version: 4.0.1.4

Testmerges:

Reproduction:

Two issues, the first:
Uniform Jackets claim to have 5 pockets, but one pocket is taken up by the jacket iself when worn on a jumpsuit. The jacket does keep all 5 pockets when not on a jumpsuit, but seems to have it's own inventory separately. IE, a uniform jacket on a jumpsuit will always have the first slot taken up by the jacket, with 4 to spare.
Accessing the jacket when it's not attached to a jumpsuit allows all 5 slots to be filled.
However, the jacket seems to have a separate inventory when on and off a jumpsuit. In theory, this can be used for 9 pockets.

Issue two:
Trying to put a jumpsuit on with a uniform jacket attached simply picks up the jacket and not the jumpsuit. The jumpsuit can be worn after removing the jacket from it.

Clown toy ship can move through (ship)-ships z-level's unbreakable walls.

Seemingly when you fly a clown ship with the hand remote it'll just no-colide with any of the undestructible walls on there.

This happened some two weeks ago during testing, and was done on the cargo runabout's z-level, sending the tiny ship out one of the airlocks only to lose it forever.

Reproduction:

Slap down the toy runabout, slap the remote on it to link them up, fly runabout in a straight direction towards one of the walls surounding the ship you are on, and realise the tiny runabout toy is more free than you ever will be.
Then be sad as the runabout is out of range now.

Medical Beds mess up X Y coords of player

Reproduction:

  1. Buckle into medical bed (the one used for surgery)
    Upon exiting, your X Y coords of your sprite is shifted (your sprite is one tile to the right, but your physical presence is where it should be, aka looks like you phase through wall when going through doorway.
    FIX: Throwing affected person

AI does weird stuff with consoles

Probably prevents it from clicking UI elements in the overmap consoles and also spams admin logs due to it failing the camera checks.

General map stuff

No cams in Xeno
No Cargo Protolathe
Some PDA sprites are invisible (mime, shaft miner)

Turbolift Text is illegible

Round ID:235 (Though inconsequential)

Reproduction: Go to a turbolift, try to use it, SEE IT IN DARK BLUE TEXT ON A BLACK BACKGROUND, change it to white, please, I beg of you

EMH is borked

Fix: move from /mob/.../human/emh to /mob/.../simple_animal or just /carbon/. /silicon/ might work too

AI chamber should be accessible on Akira

(Currently writing this as I watch KMC try to extract the AI from a sealed room)

the AI is already in the bridge and behind two doors, yet it is physically inaccessible for antag high jinks.

It uh.. It should be, that's my suggestion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.