Commit Graph

230 Commits

Author SHA1 Message Date
Erki
ced8c44d51 Automated Profiler (#9053)
Adds a lock-up detecting profiler to the game, using BYOND's new programmatic access to the profiler.

The idea is that we have an SS that's roughly called every tick. This will detect a lock-up by using world.timeofday. There might be a small issue with midnight rollover but eh. Don't. Really care. A notice is printed for each printout. These can later be processed in Python.
2020-06-10 09:03:24 +03:00
Erki
7cc7bcfdd2 Implements the pulling of news from the forums (#8887) 2020-05-21 12:45:07 +02:00
skull132
0907c95842 Revert "Revert "IPC Tag Project (#8649)""
This reverts commit bf11747fc3.
2020-05-08 23:30:08 +03:00
Werner
bf11747fc3 Revert "IPC Tag Project (#8649)"
This reverts commit f076f391f4.
2020-04-28 15:29:36 +02:00
Geeves
f076f391f4 IPC Tag Project (#8649) 2020-04-28 14:45:56 +02:00
Alberyk
486cd1e78d Changes that the emergency shuttle can only be called after one hour (#8639) 2020-04-13 23:33:57 -03:00
Matt Atlas
2e5fdf970c Landmark Shuttles (#8512)
The lifeless live again. Or in this case, what never actually lived here.

Ports Baystation12/Baystation12#17460 probably for real this time. What this allows us to do is create shuttles on runtime and make shuttles easier by just making landmarks and a shuttle instead of areas and shuttles. Also allows runtime landmark creation via flares or whatever AND allows shuttles to use different landmarks at will.

I removed most of the overmap stuff, I think. It shouldn't be hard to slam it in whenever we need to.

Changes:

    "Shuttle code has been completely reworked."
    "Shuttles can now be modified to have more than one destination."
    "Shuttles now have a takeoff sound."
    "You can now throw mobs against walls to damage them. A lot."
    "You now need a neckgrab to throw mobs."
    "BEING UNBUCKLED DURING SHUTTLE LAUNCH IS DANGEROUS! Don't do it."
    "Adminghosts can now interact with all shuttles."
2020-04-05 21:15:31 +03:00
Erki
18e03e0a02 rustg for UDP shipping (#7897)
The C++ UDP logging library has been swapped out with a rustg implementation. The rustg library uses non-blocking IO mode, and hopefully has less trouble than the C++ one. Though we'll have to see. It should error when the call is supposed to block.

The old library has been removed.
2020-01-11 21:17:41 +02:00
Erki
6d0e1a7f1b Fail2topic (#7925)
Adds a system for autobanning IPs which abuse the world/Topic API. The implementation is very analogous to fail2ban. All bans implemented are removed at round end, or at the start of the next round. This is to stop the windows firewall from getting clogged to hell. The system respects whitelisted IPs.
2020-01-05 20:34:43 +02:00
Werner
cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Matt Atlas
ab2723a3c5 Security equip. fixes/buffs, general brainmed fixes, agony + halloss into pain (#7699)
tweak: "Security's base nonlethal equipment - tasers and rubbers - is now a bit better."
    bugfix: "Fixed teargas doing practically nothing."
    bugfix: "Fixed a lot of stuff not applying pain damage. Ow."
    bugfix: "Fixed undefined values on the CMC."
    bugfix: "Fixed dionae not regenerating damage."
2019-12-18 09:15:17 +02:00
Matt Atlas
ca1e06d6c7 Adds distress beacons instead of the current ERT call (#7169) 2019-10-27 14:35:24 +01:00
BurgerLUA
4d1c49d97d Explosion Config Flexibility (#7024)
Adds a new config option that subtracts a flat value from power when going across z-levels in in iterative explosion modes. This should make it easier to balance explosions across z-levels.
2019-10-27 10:31:09 +02:00
Werner
60073ab556 Fixes issues with the API whitelist (#6865)
* Fixes issues with the API whitelist

* Update code/modules/world_api/api_command.dm

Co-Authored-By: Erki <skull132@users.noreply.github.com>
2019-08-14 10:10:08 +03:00
Lady Fowl
bb4007a912 Overhauls Custom Synthetic Code (#6803)
Loads custom synths from json or SQL as opposed to a txt file. Adds support for multiple borg sprites, ai chassis and custom ai hologram sprites as opposed to one sprite per player. Adds the ability to use custom pai sprites
2019-08-07 21:30:01 +03:00
Erki
68c2c2e739 Separate Dead OOC Allowed From Dead LOOC Allowed (#6797)
Currently, DISABLE_DEAD_OOC is used as a singular toggle for determining whether or not ghosts can talk on both OOC and LOOC. This is undesireable, should we wish to only disable their access to LOOC via config.

This PR implements a DISABLE_DEAD_LOOC config flag, which explicitly restricts the access of dead people to LOOC. While leaving DISABLE_DEAD_OOC as its own flag for when we want to exclusively restrict global OOC.
2019-08-02 21:04:38 +03:00
Werner
9f5a26d9ff Removes CCIA (#6678)
view duty log verb and changes the way their recorder works.

CCIA recordings are now written to the database once the interview is complete (if enabled) and printed out.
2019-07-17 22:39:31 +03:00
MarinaGryphon
0cd61f4f48 Adds Random Notes (#5644)
Adds SSDocs, which manages randomly spawned documents.
    These documents can be specified in a json file or in a database.
    Adds /obj/random/document and adds /obj/random/document to the loot pool of /obj/random/loot.

Actually adding the notes to spawn is up to loredevs. If there are no notes to choose from, /obj/random/document will leave a blank sheet.

The notes can have HTML in them, meaning custom CSS and images. We're giving the loredevs a good bit of responsibility here.
2019-07-13 17:50:19 +03:00
ParadoxSpace
6916089d4e Replaces Mice w/ Rats (#6625) 2019-07-06 00:03:35 +02:00
Mykhailo Bykhovtsev
035a89da67 Malf new ability of hacking maintenance drones (#6379) 2019-05-31 23:10:48 +02:00
Karolis
96c2e1c163 Adds external auth (#6380) 2019-05-10 00:05:58 +02:00
William Lemon
4e365c0eaf NTSL2+ (#6256)
Warning! Big Scary Change!
NTSL2+ is a re-work of NTSL.
The goals of this rework are to remove worries regarding server load, and make it impossible for a malicious program to crash the server.
The result is an asynchronous daemon based interpreted language, called NTSL2+.

The Daemon in question can be found Here

Features:

Programming Language worth considering a programming language
Limit-able execution - Unable to hold the server up
Runs on Modular Computers
Shitty in-game networking.
Players can finally write their own laptop programs I cannot stress that enough.
2019-04-20 18:24:04 +03:00
Werner
3eebf17cde ERT/TCFL Chance Tweaks (#6012) 2019-03-12 00:09:19 +01:00
LordFowl
8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
Erki
25b5f7ca8b Log TGS shenanigans. (#5892) 2019-02-18 08:59:28 +02:00
Erki
2daef5c6b6 Announcing live test PRs (#5857)
* Implement one.

* REVERT ME LATER

* Initial implementation dooonnee.

* log

* Fixes

* Lazyness squared
2018-12-31 03:55:16 +01:00
BurgerLUA
b1c1eaf2b3 Reverts #5773 and adds debug messages for Antag Selection (#5777)
See title. Extended was running 24/7 for some reason and I would like to know why.

Fixes #5776
2018-12-16 20:05:35 +02:00
BurgerLUA
4cbd2f4e2c Gamemode Start Tweaks (#5719)
When the round refuses to start because of a lack of players or lack of antags, it will properly state this instead of stating that there aren't enough players.

The Wizard gamemode, and the Ninja gamemode, both have restrictions that prevent the gamemode from being launched if there are more than 15 players, unless it was voted specifically.
2018-12-11 20:38:31 +01:00
Erki
a85c687146 Allow hard daemon reboots at regular intervals to help with memory (#5503)
DreamDaemon leaks memory between restarts, which might exacerbate us potentially running out of memory. This allows us to reboot the server every n rounds.

Also refactors the way we handle things that should be saved inbetween rounds. Like gamemode and the restart counter.
2018-11-04 18:38:10 +02:00
Erki
a6be2156f8 Travis Musings (#5116)
Bumps Flyway.
Moves a script that should be a code check to the code checks.
2018-11-03 23:36:36 +01:00
BurgerLUA
1bd59b6532 [Ready] Asteroid Dungeons (#4884)
Adds Asteroid Dungeons framework to the game. Mappers can make their own asteroid dungeons to the game. Currently there are no asteroid dungeons that can be loaded.

Anyone can make a dungeon like anyone could make a change to a map. A readme file is included inside the maps directory for information regarding how to add your own dungeon to the map.

There's an added config function in the example config that determines whether or not asteroid dungeons spawn. I also included 2 bat files in mapmerge and mapmerge2 that backup the asteroid dungeons spawns so that they can be used in mapmerge.
2018-07-20 22:10:35 +02:00
Erki
18baa01d0a Ticket improvements (#4432)
Adds some features and fixes some shit:

Closing of tickets sent to Discord will now alert discord as well.
Adds a reminder period for tickets which starts after they're opened. It's intended to remind staff to close their tickets. Say, something like 10 minutes since opening sounds like a solid idea. If the staff who claimed it is offline, then all staff are reminded of it.
Adds the logging of all tickets to the database at the end of round. Sortable by staff closing, person opening, time opened, time closed, and round ID. This is primarily for Aboshehab.
2018-03-25 16:32:12 +03:00
Erki
7a0e0d6edb Blacklisting of builds (#4274)
Because Lummox enjoys breaking shit and we need to do this.
2018-02-11 01:55:33 +02:00
Lohikar
db53ff3630 Asset Preload (#4055) 2018-01-06 16:30:50 -06:00
Lohikar
6debd29cb7 Iterative Explosions (#3838)
This PR replaces recursive explosions with a new spreading engine: iterative explosions.
Should behave similarly, but also be more reliable, potentially faster.

Iterative explosions also support simple-explosion-esque directional explosion sounds/shake, and will now traverse Z-levels if the explosion is strong enough.

Also changes playsound() to transmit sounds across Z-levels. Uses BYOND's 3rd coordinate on /sound to make sound sound above/below the player if they're using headphones. Removed for now, can't get Z-falloff working right.

Fixes #2199.
2017-12-30 04:38:12 +02:00
skull132
7dc02be204 Merge branch 'master' into development
# Conflicts:
#	code/controllers/subsystems/initialization/misc_early.dm
#	config/example/config.txt
#	maps/aurora/aurora-1_centcomm.dmm
#	maps/aurora/aurora-4_mainlevel.dmm
2017-11-11 20:57:28 +02:00
Alberyk
370ba0a7b0 We have arrived, and it is now that we perform our charge. (#3782)
In fealty of the Triumvirate, our undying Lords, and by the grace of the Administratum; I declare exterminatus upon Mixed Secret.
I hereby sign the death warrant of an entire gamemode, and consign a million pubbies to tears.
May Imperial justice account in all balance, the Triumvirate protects.
2017-10-30 22:14:42 +02:00
Lohikar
61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
Ron
9528498c43 Adds code yellow (#3507)
Adds code yellow as requested by CCIA.
2017-10-01 18:49:35 +02:00
Werner
ff853542b1 Cargo Overhaul (#3221)
Changes cargo to be based on credits instead of items

The following is still ToDo:

 Test SQL Loading + Add flyway migration
 Add changelog
 Restore the PDA Application
2017-09-14 21:32:06 +03:00
Lohikar
f4be66f342 Fix openturf starlight (#3401)
changes:

Openturf starlight now actually works.
Openturf starlight is now under its own config option, so it can be toggled separately from starlight.
OT starlight no longer re-applies to a turf that already has it set.
Seems to use a fair bit of memory unfortunately, as well as adding a good 25 seconds or so to boot time.
2017-09-10 22:50:14 +03:00
Ron
ad4fce70c5 Adds a gamemode probability verb (#3320)
Using the show server revision verb will now show the percent chance of each gamemode in the secret and mixed secret rotation. Based off of how TG did it.
2017-08-26 08:05:20 -05:00
skull132
81bb348a42 Merge branch 'master' into development 2017-08-06 22:09:41 +03:00
Erki
a50820a574 Fixes a bug with default values. (#3237) 2017-08-05 22:36:14 +03:00
Alberyk
b4fa4a8b3a Baystation12 merchant port (#3155)
Port of the merchant mechanics from baystation12.
All of the trader, prices and most essential system are done, as well the job datum and the like. Mapping the shuttle, the base and a new dock will be done in a later pr.
Also adds phazon construction and several other items used in this pr.
The chance of the merchant slow being open at round start can be changed via the config, it is 20% by default.
2017-08-04 21:36:04 +03:00
skull132
b886ef644a Implement mixed secret (#2849)
Implements mixed secret as a gamemode. It's another snowflake mode which taps into more snowflake functions. :ree:

Went over all references to "secret" and swapped them for a macro where applicable. SSticker.hide_mode now holds a reference to which type of secret was picked. "random" gamemode will now pick from both secret lists for added randomness!

Implementation of https://forums.aurorastation.org/viewtopic.php?f=18&t=8253
2017-07-02 02:38:00 +03:00
Lohikar
ce54f5a76c Significantly speed up testing server boot (#2846)
Dramatically speeds up boot with testing (MC_TICKLIMIT_INIT > 100) configs; stoplag() would penalize procs that go over 100% tick-usage by delaying them further. This is not required during server boot & the lobby, and resulted in significantly longer boot times.

This PR ports a fix from /tg/ that forces stoplag() only sleep 1 tick if it sleeps during server boot, as well as adjusting the example config to be more suited for testing.
2017-06-29 00:20:14 +03:00
Lohikar
bcccd88fd4 Fastboot (#2761)
Adds a config option that disables some time consuming bootup steps that aren't generally required for debugging.
2017-06-22 13:15:20 +03:00
skull132
e4423761ef Admin & Staff adjustments (#2529)
Features:

 Removal of BOREALIS (python module) as it's not used.
 Removes ToR ban feature in lieu of IPIntel.
 New BOREALIS config to alert staff if server starts as hidden.
 Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
 Adds hub visibility to the server access control panel.
 Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
 CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
 Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
 Removed depracted APIs and config settings related to the previous point.
 Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
 Job ban reasons can now be viewed from player preferences window.
 Await admin approval for final CCIAA requests and implement. RIP CCIAA.
 Fix age bans for jobs and antags (dynamic ones, ofc).
 Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
2017-06-13 01:37:44 +03:00
Lohikar
90b6691c8f Sunlight (#2542)
Implements a configurable sun for a sunlight effect using the lighting engine.
Abuses Z-lights to illuminate Zs in a semi-realistic way.

Kinda slow at setting state, but state changes shouldn't lag & are rare.

Also adds the ability to create lights that ignore visibility when calculating range, causing them to shine through objects/walls.
2017-05-31 11:43:18 +03:00