Commit Graph

396 Commits

Author SHA1 Message Date
Jordan Brown
62f788fbc6 Server tools API v3.1 (#31000)
* New API for service communication

* Safer this way

* Gives the game the ability to kill itself

* tick_lag

* Sanity check

* Updates comment

* Formalization of the server tools API

* Fixes, finishes, and cleanup

* Remove unecessary scoping

* Compile fixes

* Didn't Ctrl+S

* Reimplement chat commands

* Fixup

* Required parameters

* Fax

* Testing

* Fix ON_TOPIC

* The more defines the more better

* That's bass ackwards

* Fix tgs2

* Fuck it, call him pichael

* Do this

* No, we only use the modern methods now

* Remove tgs2 relay support

* Remove kebab

* Kill kill kill

* This is back baby

* Missed a GLOB

* Remove DownloadPRDetails()

* Cache custom commands by name

* Adds "notify" chat command

* Use the official API

* Fix API misuse

* Readme licensing memes

* Fix API

* Moves chat new game announcement to when the API is confirmed compatible

* Add TGS3.json

* Fix the input options

* Removes notify command
2017-09-29 16:19:50 +13:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
AnturK
292638c209 Specifies one format of variable declaration for the codebase. (#30926)
* Removes occurences of var name

* Contributing note

* note fixup
2017-09-22 13:43:52 -04:00
ShizCalev
39380d5b03 Removes old debug text 2017-09-19 18:56:39 -04:00
vuonojenmustaturska
a0fc9c3af8 Enables Dead OOC at round-end (#30716)
* Enables Dead OOC at roundend

* proc

* proc #2
2017-09-17 17:22:12 -04:00
Jordan Brown
e5929eb15b More admin auth fixes (#30688) 2017-09-14 13:16:23 -03:00
KorPhaeron
10a3238fd6 Makes the station Z level into a list instead of a single define (#30297)
* Makes Station Z Levels a global list

* Things didnt get committed

* Define

* Removes files

* Fix mind.dm

* Wrong list name

* (

* Fixes rev checks and signpost

* Makes it actually compile

* Signpost fix

* I hate these sign posts

* Never use the web editor
2017-09-11 13:39:52 -04:00
Jordan Brown
84b1e3d71e [s] Adds a security token to all admin hrefs (#29839)
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.

Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)

Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
2017-09-09 12:15:53 +10:00
Shadowlight213
e458845453 Adds tracking amount of time spent playing departments 2: The fall of the Assistants. (#29105)
* Ports Paradise Job exp system

* changed to use json_decode and json_encode as recommended by oranges

* updates changelog

* Reee cyberboss

* Changes to use a seperate table

* Updates database changelog
Changes to use mediumint

* Back to wip we go.
Changes sql stuff to how mso suggested
Attempts the changes requested in the other pr.

* work on stuff.

* work on stuff.

* Renamed proc for time remaining.
Fixed updating time amounts.
Added delay to fix firing at roundstart

* exp is now stored in a global list, and only updated to the db at round end.

* some stuff

* Added button to toggle exempt status on a player.
Still need to make it update the db

* REEE Jordie.
Undoes delaying exp updating to round end.
Adds the updating filtering to the update_exp_client proc which is used again

* Lowers a bunch of the times needed.

* Makes tracking per job instead of per department.
Department time is now calculated from job time.

* Whoops forgot to update master first. Lemme save this

Reverb should play cheeki breeki to people

* I think I did this right.
Too tired to test atm.
Busy rewatching twintails ni narimasu

* Removes var from proc arguments
Fixes database stuff

* Does some requested changes.
Makes special_role be tracked instead of bundled under special.

* Done, but need to refactor how it handles ghost roles.

* Less false data wew

* Changes

* Updates db version
More changes

* More changes

* More changes

* revision fix

* OOPS

* fix schemas

* Makes SQL error logging handled by Execute
Gang role tracking now strips out the gang name and is generic.
2017-08-20 23:01:08 +12:00
Jordan Brown
d1ae0a0c95 Adds helpers to avoid << use (#29611) 2017-08-09 00:27:54 -03:00
Jordan Brown
6175ab77d5 Removes all checks for subsystem existence 2017-08-01 10:16:37 -04:00
ShizCalev
45d3d52af7 Made some object lists less terrible to read (#29304)
* spaces

* more spaces

* last ones
2017-07-18 10:44:29 -04:00
Tacolizard
76edcf1c40 Allows admins to set messages when they delay the round end (#29064)
* initial

* fixes

* changes

* move to SSticker

* logging

* msg changes

* fix

* Jordie changes

* remove span

* change if

* fix

* cyberboss review
2017-07-10 10:55:17 -04:00
bgobandit
ed01357edd This month's spelling fix PR (#28502) 2017-06-17 09:35:30 -03:00
Lzimann
ccb3a86a84 Fix related CID/IPs on player panel 2017-06-08 10:52:47 -03:00
Jordan Brown
d7ebd649ba Refactors the latejoin list (#26647) 2017-06-04 17:07:46 -03:00
Jordan Brown
916d1b4cd7 TGS3 DM changes (#26534)
* TGS3

* Fix line endings

* Enable 16-bit long topics

* Cleans up topic socket usage

* Reduces and refines the IRC status throttle

* Increase the CP status delay to a reasonable amount

* Fixes the testmerge command not having a keyword

* Clean up rebooting a bit

* Get error codes from windows when symlinking fails

* Clean up world announces

* Aborting compilation will kill the DD process

* Add support for changing the project name

* Removes the log page

* Add support for compile cancellation

* Version bumps and docs

* Add merge-pr repo CL command

* Fixes DM cancel command's help message

* Refactor command line to show better formatted help text

* Corrects a typo

* Multi-key game options must be manually edited

* Moving of the server installation from the control panel

* Fix a bug with server moving

* Corrects webclient disposal syntax

* Service now handles the PR Json the game uses properly

* PR listing command for CL

* Fixes reversed testmerge and update help entries

* Windows scheduling to help avoid reboot crashes

* Generalization of chat infastructure

* Brings a file name in line with everything else

* Shutdown exceptions no longer keep the service online

* Enable provider switching on the backend. More thread safety

* Support for switching, password encryption and defaults.

* Removes boilerplate on log writing

* Discord integration

* Update the installer dependencies

* Version bump

* Adds support for getting the latest byond version

* Fixes issue with not being able to set discord channels

* Fix being able to reconnect if chat is disabled

* Extra validation for interface types

* Add the Chat page for the control panel

* Various cleanup

* Set read ACL on the data directory

* Remove redundant namespace usage

* Fixes some buttons not updating the server page

* Future proof against upcoming removal of repo data directory

* Normalize Main declaration

* Update the IRC library

* Enables CTCP

* Removes useless hack

* Logging + enable IRC private messages

* Jobs config

* And finally the maps config

* Save the last config panel visited

* Not gonna use these

* Minor formatting cleanup

* Fixes the chat page not refereshing after clicking reconnect

* Fixes server page not initializing correctly

* Repo now defaults to tgstation github when not found

* Revert "Set read ACL on the data directory"

This reverts commit 15b0021ec51532bca14690a884caa81e811fbc46.

* Design the admin config page

* Prep format the repo's admin_ranks.txt

* Add a negative permissions field

* IRC now RFC quits before disconnecting

* Turns out that fixed the disconnect lag

* Updates the admin ranks config api to work for us

* Done with this config shit

* @optimumtact

* Fix this

* Fix the .wxs

* Try to get md5/sha1 working.

* Add FCIV to appveyor

* Generalize the command class

* Revert "Generalize the command class"

This reverts commit 5c61f6df58d66f0fea4170c8aee0cd5beaa99b5d.

* ITS THE FUCKING SEX NUMBER!!!!

* Final touches

* No THESE are the final touches

* Do not advertise

* Revert "Do not advertise"

This reverts commit f64281d486f9ca27e39f19635ab4deacb2d7e1ac.

* Hopefully the last version bump for long time

* Fix line endings

* Fix default dbconfig.txt

* Fix Discord not checking the right admin channel

* Fix discord listening on ALL channels instead of configured ones

* Package the discord fixes for @JamieH

* Format the testmerge data a little better

* Apply 7 character clamping of commit strings

* Fold admin hard reboot into regular reboot list

* Backward ahelp compatibility with the adminbus bot

* Removes an unecessary semicolon

* Fix stray merge conflict in the config

* Fix Newtonsoft being included by the commandline

* Improve byond update logging

* Chat cleanup

* Fixes some setup non-errors from being displayed

* Repository no longer counts being busy as being valid

* Repository no longer valid while cloning

* Fixes a nudge socket change issue

* Frontend cleanup

* Fixes CanStart race condition

* Fixes compile cancel delays

* Various fixes

* More fixes

* Better readme

* More readme

* Fix a config command description

* Add missing repo status command

* Never delete the backups

* Log the compiles

* More logging

* Stuff

* A thing happened, but I'm not sure what

* Tiny

* INB4 second squash

* Version bump

* Shallow clones should speed things up

* Regular clones

* This is how it's set on travis

* Fix this dupe

* Add backup tag support to backend and command line

* Add some missing repo commands, fix GetHead. Fix reset on branches

* Remove the interfaces for commit and push

* Remove that generate changelog checkbox

* Yeah, that's a misunderstanding

* Make changelog pushing a config, with no way to enable for now

* Add Reset and Recompile option

* Update readme

* Repo page cleanup

* Fixed NudgePort message possible repeating
Fixed Reset and Recompile option always being visible

* Fixed compilation copy not overwriting files
Fixed compiler trying to unecessarily delete the whole A/B folder
Improved game folder initialization speed

* Selectively stage the html folder

* Make the restriction a config

* Switch to using LibGit2Sharp+SSH

* WIP SSH support

* Removes some success chat messages

* Make repo authentication purely file based

* Quick IRC fix

* Should all work in theory...

* More fine grained

* Remove the username thing

* Use the right default email for tgstation-server

* Update the readme

* That's worthy of a version bump

* Speling

* Makes it do as the readme says

* Fix testmerge list not having a scrollbar

* Trying out commit message based deployment [TGSDeploy]

* Whoops

* Testing

* Better

* Version Bump [TGSDeploy]

* Need to set the var at parent scope [TGSDeploy]

* Use the commit message

* Try this [TGSDeploy]

* Try just this

* This maybe? [TGSDeploy]

* >like [TGSDeploy]

* Wildcard, bitches [TGSDeploy]

* Saner title [TGSDeploy]

* Readme update

* This should loin ya

* Fix it [TGSDeploy]

* Readme, cleanup, and doc updates

* Improve DD crash handling

* Version bump [TGSDeploy]

* TGS3 Config Changes

* Line endings

* Map config code change

* Missed a few

* Security and Visibility selectors for the Server page

* Fixes OCD

* Fax it

* Fixes

* Version bump [TGSDeploy]

* eh

* The word comment has lost it's meaning to me

* This is a terrible name but whatever

* Support config changes

* This is part of the code so it belongs with the code

* ExportService now has a return value

* Copying of the logs dir during compile for #27674

* Version bump [TGSDeploy]

* Removes some uneedful

* Moves daemon config to BYOND folder, much safer

* Fix a config comment translation miss

* Fix project settings issue

* Fix config apply button not showing up after repo clone

* Fix anchoring for Backup Tags: label

* Version Bump [TGSDeploy]

* Nudge port only listens while server is running

* Fix some instances of the control panel crashing when the service stops

* Add start menu shortcuts

* Remove the actual server

* Remove appveyor

* Fix gitignore

* And this

* Readd HTTPS_Get for now

* Readd legacy support

* Fix

* Fix this stuff

* Last thing

* Line endings

* Final touches

* Dat newline

* More stuff

* Where'd that go?

* Real final touches
2017-06-01 21:16:07 +02:00
oranges
12f6ef45ff Merge pull request #27697 from KorPhaeron/z2
Centcomm is on Z1
2017-05-28 13:57:00 +12:00
Jordie
f042d97448 Adds round table to replace tacking some data in feedback table (#27454)
* adds round table to replace tacking some data in feedback table

* removes obsolete code for acolytes_survived

* uses a better query

* corrects var name

* uses actual sql queries

* adds commit column and connected checks before queries
2017-05-26 22:17:44 +02:00
KorPhaeron
af2aeef3d0 Use defines 2017-05-26 09:04:09 -04:00
Cyberboss
ee404b2170 World.dm Refactor (#27268)
* Cleanup world/New

* Moves some things from OnReboot SS Shutdowns

* Move mode handling procs to ticker

* Moves delayed reboot to ticker
Cleans up round end sound setting
Splits round end animation between SStitle and SSticker

* Moves PR announcement to where it can use the define

* Clean this bit up

* Move out datacore Initialization

* Fix some stuff

* Fix this for

* Different PR

* Gives admins reboot options

* Make it smaller
2017-05-18 21:53:46 +10:00
Mike Long
4687dd0117 Devil refactor+small revamp (#26815)
Hello, with PR #26717 merged, I think it's a good time to add devils to the standardized antag datum system.

This PR is mostly a refactor, which shouldn't be noticed by the playerbase. Changes that might be noticed are below.

🆑
tweak: Modified chances for returning someone's soul using an employment contract. Now everyone has a chance, not just lawyers and HoP.
add: Particularly brain damaged people can no longer sign infernal contracts properly.
tweak: Infernal contracts for power no longer give fireball, and instead give robeless 'lightning bolt' spell.
add: Devils can now sell you a friend, for the cost of your soul.
tweak: The codex gigas should now be easier to use, and less finicky.
del: The codex gigas no longer sintouches readers.
/🆑
2017-05-10 22:02:17 +12:00
Lzimann
f2742f3dec Conflicts plus changes the text to match it being a date instead of age 2017-05-08 19:57:28 -03:00
Lzimann
63c42d4539 Adds a way to check related accounts by CID or IP in game 2017-05-06 22:38:43 -03:00
Lzimann
ecd9121e60 Shows the actual date instead of number of days for byond/player age in player panel 2017-05-06 21:20:36 -03:00
Leo
c8fb2b5cd1 Adds player age and byond account age to player panel (#26922) 2017-05-05 22:07:14 -03:00
Cyberboss
e8656e9eae Revert "Allows admins to pass parameters to New() (#26613)"
This reverts commit 9d0185c023.
2017-05-04 15:37:06 -04:00
Cyberboss
574c3dd19b Fixes atom spawning 2017-05-01 14:43:17 -04:00
Cyberboss
9d0185c023 Allows admins to pass parameters to New() (#26613)
* /proc/print_single_line(list/L)

* Admin datum/New parameters

* Fixes
2017-05-01 11:55:58 -06:00
Cyberboss
6c6fc719ec Refactors roundstart checks slightly (#26131)
* Refactors roundstart checks slightly

* Fix
2017-04-27 10:05:40 +12:00
Cyberboss
729010bbb2 Unorphans the blackbox (#26129)
Moved sql_poll_population from server_maint to this new SS. Moved few remaining server_maint tasks to SSping and deleted it.
2017-04-27 10:04:57 +12:00
Cyberboss
9b36a65730 Renames some incorrect terminology 2017-04-23 10:09:08 -04:00
Leo
7dfc3cfe13 Removes rogue bold tag 2017-04-22 18:54:33 -03:00
Leo
d46d9ffb2a Adds a link to individual logs on the player panel and moves the other one (#26341)
* Adds a link to individual logs on the player panel and moves the other one

* Fixes tgstation.dme and removes the other button from the show_player_panel verb
2017-04-19 13:03:51 +02:00
Joan Lung
49e7f7e5b1 Improves admin verb logging 2017-04-09 19:00:52 -04:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Cyberboss
22fe5b12f1 Merge upstream 2017-04-02 22:27:22 -04:00
coiax
7554b5f454 Language datums; removes the talk wheel (#25333)
* Initial burst of languages

* Scratchings of beginnings

* Code review I

* Compilation!

* You can now understand your own speech

* Fixes whispering

* Gets typecaches working again

* Remie's `PASS`ing

* Back to pass() to stop the compiler whining

* Why can't drones check their languages

* Everyone speaks how they should

* Removes world string debug stuff

* Currently failing to massage radio code into working

* The radio transmits the languages!

* ,0 to talk common

* Replaces speech wheel with language menu

* Observers can speak all languages

* pAIs now speak languages FOREVER

* New action button for language menu

* pAIs have an action button to open their language menu

* AIs can talk and all that

* AIs have a language menu button

* Fixes supermatter making strange noises

* Fixes AI holopads

* Fixes request consoles

* Fixes bots making strange sounds

* Meaningless MMI change

* Some caching of datums

* Brains in MMIs speak common

* Ratvarian AIs can only speak Ratvarian

* Tables can speak common, apparently

* Removes var in args

* Fixes the (AI Eye) problem

Thanks to Shadowmobile for their help with this one.

* Fixes tape recorders

* Fixes humans being able to speak in languages they did not know

* Adds some new posibrain names

Honk.

* The voice analyzer replies in the language you spoke to it

* Gives swarmers only swarmer language

* `initial_languages` var.

* OMNITONGUE, clockwork restrictions

* Fixes barmaid and bardrone language abilities

* Code review I

* Omnitongue correction

* Code review II

* Removes force_compose var
2017-04-02 21:03:40 +02:00
Cyberboss
d0bfbc3e13 Rename ticker to SSticker 2017-03-22 10:48:25 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Cyberboss
07e917109a Makes SDQL use vv_edit_var (#24854)
* Makes SDQL use vv_edit_var

* Fix shit
2017-03-10 11:01:12 +13:00
Lzimann
15e8b7e5f7 Adds a way to see a persons's individual logs for the round. 2017-03-03 22:03:13 -03:00
Cyberboss
17bc8038f1 Roundstart no longer delayed by initializations 2017-02-14 23:47:01 -05:00
kevinz000
7e93035613 [READY]SDQL2 update: In which admins get more power than they deserve. (#23694)
* ABSOLUTE PATHING!!

* absolutely fucking pathed

* stuffs

* oh that was there for a reason.

* fixes

* stuffs

* my fucking identation >:[

* double no

* no delayed global proccalls.

* /var/s

* /var/s/2

* catch(vars)

* var/expression/e broke without the var/

* lists and wrappers!

* Update SDQL_2.dm

* Update SDQL_2.dm

* Update SDQL_2.dm
2017-02-06 18:37:39 +13:00
Jordie
4a1adbad5f Unifed SQL message system (#23327)
* unifed sql message system to supersede notes, watchlist and memos and adds messages

* a neserseree change
2017-02-03 00:02:24 -06:00
PKPenguin321
bf65b28334 critical grammar fix (#22830)
)
2017-01-08 20:31:17 -05:00
Jack Edge
f0cdd40959 The Start Now sets the round to start immediately
Previously, if you pressed Start Now while the server was still
initialising, it would complain, and you'd have to wait until the lobby
was ready.

Now pressing it will have the server start as soon as able.

Uses: debugging qol.
2017-01-04 13:40:46 +00:00
Joan Lung
b5b4037e2e More istypes replaced with helpers (#20767)
* shouldn't you be merging these by now

* my oh my do we have a lot of these

* a fellow pedantic shit
2016-10-03 13:40:13 +13:00
Joan Lung
bdcb16113a Adds a few turf istype helpers (#20754)
* a very calming act
when the world is too much, too fast

* i'm tired
but i have to be efficient, infinite

* lick your lips at the sight of me
a fantasy made reality
2016-10-01 19:25:46 +02:00
MrStonedOne
0bf4641f50 clients now qdelete. 2016-09-08 08:05:51 -07:00