Git Product home page Git Product logo

austation / austation Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 50.0 1.92 GB

AuStation is an Australian SS13 server run by Australians, for Australians.

Home Page: https://austation.net

License: GNU Affero General Public License v3.0

Dockerfile 0.01% Python 1.22% DM 87.59% CSS 0.05% HTML 2.03% JavaScript 5.95% Shell 0.10% Batchfile 0.02% C# 0.14% C++ 0.05% PowerShell 0.03% PHP 0.17% Java 0.22% SCSS 0.56% TypeScript 1.89%
spacestation13 australians game ss13 byond dm sci-fi hacktoberfest

austation's Introduction

AuStation 13 Codebase

forthebadge forthebadge forinfinityandbyond Build Status Open Issues

Website: https://austation.net Code: https://github.com/austation/austation Wiki: https://wiki.beestation13.com/view/Main_Page (For Now)

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.beestation13.com/view/Downloading_the_source_code

Option 1: Follow this: https://wiki.beestation13.com/view/Guide_to_git Clone the repository using git clone.

Option 2: Download the source code as a zip by clicking the ZIP button in the code tab of https://github.com/austation/austation (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:/beestation/config -v /path/to/your/data:/beestation/data beestation/beestation <dream daemon options i.e. -public or -params>

INSTALLATION

You can no longer compile the codebase simply through Dream Maker.

Building AuStation in Dream Maker directly is now deprecated and might produce errors, such as 'tgui.bundle.js': cannot find file.

Building with VSCode (Preferred)

How to compile in VSCode and other build options.

Building without VSCode

You will find BUILD.bat in the root folder of BeeStation, double-clicking it will initiate the build. It consists of multiple steps and might take around 1-5 minutes to compile (particularly the first time). Unix users can directly call ./tools/build/build.

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 https://discord.gg/Vh8TJp9 or https://discord.gg/ZTGQAqB

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

Just use git, or see the following subsection.

Manual Update

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

Hosting requires the Microsoft Visual C++ 2015 Redistributable. Specifically, vc_redist.x86.exe. Not the 64-bit version. There is a decent chance you already have it if you've installed a game on Steam.

If you'd like a more robust server hosting option, check out tgstation's server tools suite at https://github.com/tgstation/tgstation-server

MAPS

AuStation currently comes equipped with these 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

AuStation 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. The database is required for the library, stats tracking, admin notes, bans, and persistent characters/preferences. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/beestation_schema.sql.

More detailed setup instructions are located here: https://wiki.beestation13.com/view/Working_with_the_database#Database_Setup

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 BeeStation you could reuse their rsc cdn at http://rsc.beestation13.buzz/beestation.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.

Other Codebase Credits

  • /tg/, for the codebase.
  • CEV Eris, for the PDA sprites
  • TGMC, for the custom keybinds base
  • Citadel, for their beautiful lighting

austation's People

Contributors

anturk avatar aranclanos avatar changelingrain avatar cheridan avatar coiax avatar cyberboss avatar duncathan avatar giacom avatar ikarrus avatar ike709 avatar imtakingabreakdontatme avatar incoming5643 avatar jordie0608 avatar korphaeron avatar lzimann avatar mrstonedone avatar optimumtact avatar phil235 avatar powerfulbacon avatar qwertyquerty avatar razharas avatar remierichards avatar robustin avatar shizcalev avatar silicons avatar ss13-beebot avatar tgstation-server avatar theoperand avatar tkdrg avatar zeskorion avatar

Stargazers

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

Watchers

 avatar  avatar

austation's Issues

Exofab drone shell bug

Reproduction:

build a drone shell from an exosuit fab and see that it doesnt work anymore

String highlighting skips every second string

The string highlighting for the fancy chat whatever only highlights every even string, whilst every odd string is highlighted normally.

Reproduction:

In the highlight box type a series of strings separated by commas. For example: "Jamal,Mcterra,SS13" Jamal and SS13 will be highlighted, whilst Mcterra isn't. This issue is regardless of capitalization or whether there are spaces.

Cybernetic organs are edible

Issue reported from Round ID: 4489 (AuStation 13 [AUSTRALIA/OCEANIA])

Reporting client version: 513.1526

While trying to put cybernetic organs into myself, I bit them so I couldn't implant them anymore. I don't think they are supposed to be edible.

"You grab Pete by their hands"

Issue reported from Round ID: 2326 (AuStation 13 [AUSTRALIA/OCEANIA][100% FREE LAG])

Reporting client version: 512.1488

Grabbing pete in help intent, targeting hands procs the message "You grab Pete by their hands"

Mentors can't use MSAY (Default F4 bind)

Issue reported from Round ID: 3284 (AuStation 13 [AUSTRALIA/OCEANIA][BEESTATION EDITION])
Reporting client version: 513.1508

Terra knows about this already but I wanted to make an actual issue on the github so I can get updates. Msay can be used by typing in "msay" and hitting space in the chat bar but there is a keybind accessible only to admins to use msay.

image

Probably just a permission error or something. Not sure.

(bug report) autolathe design disks warp back to the lathe

Issue reported from Round ID: 7079 (AuStation 13 [AUSTRALIA/OCEANIA])

Reporting client version: 513.1542

if you place a disk into an autolathe and eject it, it will keep the option to eject it again. if you try and eject it again it will warp the disk back to the lathe from where-ever in the world it is
image
image

Slipping on bananas doesn't cause you to slip

Issue reported from Round ID: 2326 (AuStation 13 [AUSTRALIA/OCEANIA][100% FREE LAG])

Reporting client version: 512.1488

Stepped on bananas a few times and never slipped, though I did get the sound effect and text log stating that I slipped.

Invisible Toxin Medical kits

Round ID: 8118

Reproduction:

image
just walk into medbay and leftclick where the toxin medkits should be
(unknown reproduction)

Metastation reactor cannot stabilize at 1k criticality

Round ID: 8285

Testmerges:

Reproduction:

With continued changes to atmospherics (and even before it!), the RBMK to the southeast of atmospherics does not follow standard NSV operations in order to work properly.
Under the NSV wiki that the RBMK was ported from, it should operate at a stable manner under the following conditions:
an input gas of 80/20 oxygen/plasma mix at 1500-2000kPA
A gas filter that filters nucleium (in this case, nitryl)
all pumps set to max for the cooling loop, with 1 canister of nitrogen wrenched in.

under older atmos, this would result in the RBMK reaching a thermal equilibrium at 89% reactor power. using pressure pumps will eventually cause the reactor to blow if the criticality is set to 1

Under new atmos, setting the criticality to 1 will causes the reactor to do the following under different pumps:
pressure pump at max pressure: meltdown
volume pump: blowout
straight pipe: begins cooling down to shutdown.
image
under straight piping with the current atmos mechanics, the way to stabilize the SM would be trial and error to find a criticality point between 0.5 to 1, for my own test this results in .595 for a canister of plasma on straight pipe and .7225 for a canister of nitrogen on straight pipe. Neither are optimal operation for a RBMK.

since I'm no expert at coding I'm not sure what's messing up the RBMK operations but even on the old mechanics, the cooling loop in space for the RBMK is also insufficient anyway since the RBMK is designed to stabilize even on 60%. Additionally, the lack of a gas filter by default will cause nitryl build up in the cooling loop which will worsen the RBMK performance over time.
image

add roblox

add roblox to ss13 austation!!! you can play roblox and it be very fun and you can earn bobux in it too! please add this

Tesla Wiznerd

Be able to Mindswap Tesla Ball AND BECOME THE GREAT TESLA WIZARD

Prisoners

Add prisoners from tg suit the server because oh how its nrp
plus i really want to play prisoner

Energy bolas slow down when put in pockets

Issue reported from Round ID: 3263 (AuStation 13 [AUSTRALIA/OCEANIA][BEESTATION EDITION])
Reporting client version: 513.1508

NiceSpeed
(Small gif I know)

When ever you mess with bolas, for some reason my character just stopped moving at the normal speed. I was able to figure out that the bolas were doing it and could replicate it when putting the bola into your pocket, then taking it out again.

The speed that the character was going was slightly faster than if the bola was activated on their leg, so I'm not sure why it was happening.

IPC brain glitch

Round ID: 5275

I don't know how to use github, but are you really gonna take down a bug request? yeah nah yeah nah

So basically if you take out an ipc brain and then put it back in, your brain goes to the coordinates 0,0,0 on your screen, on other peoples screens your character stands back up and does nothing. This has happened every single time i've had my brain taken out and then put back into my corpse, don't know if it works with other corpses other then your own. pls fix

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.