From c3586712e56629c69fddcf7e916c34494ac92746 Mon Sep 17 00:00:00 2001 From: Neerti Date: Sun, 29 Nov 2015 22:06:05 -0500 Subject: [PATCH 1/3] Adds verb to toggle hub visibility. Conflicts: code/modules/admin/admin_verbs.dm --- code/modules/admin/admin.dm | 13 +++++++++++++ code/modules/admin/admin_verbs.dm | 1 + 2 files changed, 14 insertions(+) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 6ad8b95058a..24aecdb5c80 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -725,6 +725,19 @@ proc/admin_notice(var/message, var/rights) message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/togglehubvisibility() + set category = "Server" + set desc="Globally Toggles Hub Visibility" + set name="Toggle Hub Visibility" + + if(!check_rights(R_ADMIN)) + return + + world.visibility = !(world.visibility) + log_admin("[key_name(usr)] toggled hub visibility.") + message_admins("[key_name_admin(usr)] toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility]).", 1) + feedback_add_details("admin_verb","THUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc + /datum/admins/proc/toggletraitorscaling() set category = "Server" set desc="Toggle traitor scaling" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 69798c391a8..0dc349769d2 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -65,6 +65,7 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/toggledsay, //toggles dsay on/off for everyone, /client/proc/game_panel, //game panel, allows to change game-mode etc, /client/proc/cmd_admin_say, //admin-only ooc chat, + /datum/admins/proc/togglehubvisibility, /*toggles visibility on the BYOND Hub.*/ /datum/admins/proc/PlayerNotes, /client/proc/cmd_mod_say, /datum/admins/proc/show_player_info, From 4f6ebf9a438bf34ce6fbe7fed63ff5fd28d04669 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 12 Jan 2016 18:02:52 +0100 Subject: [PATCH 2/3] Adds a config option to automatically delist the server from the BYOND up when there are no admins. --- baystation12.dme | 2 +- code/controllers/configuration.dm | 4 ++++ code/modules/admin/admin.dm | 5 ++++- code/modules/admin/admin_verbs.dm | 2 +- code/modules/mob/logout.dm | 7 +++++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 8d6c8531830..7c0073e6481 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1868,10 +1868,10 @@ #include "code\modules\wireless\interfaces.dm" #include "code\modules\xgm\xgm_gas_data.dm" #include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\equipment_tests.dm" #include "code\unit_tests\mob_tests.dm" #include "code\unit_tests\unit_test.dm" #include "code\unit_tests\zas_tests.dm" -#include "code\unit_tests\equipment_tests.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\Airflow.dm" #include "code\ZAS\Atom.dm" diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 91bf3ff1a7f..43bc5db188f 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -219,6 +219,7 @@ var/list/gamemode_cache = list() var/list/language_prefixes = list(",","#","-")//Default language prefixes var/ghosts_can_possess_animals = 0 + var/delist_when_no_admins = FALSE /datum/configuration/New() var/list/L = typesof(/datum/game_mode) - /datum/game_mode @@ -707,6 +708,9 @@ var/list/gamemode_cache = list() if ("lobby_screens") config.lobby_screens = text2list(value, ";") + if("delist_when_no_admins") + config.delist_when_no_admins = TRUE + else log_misc("Unknown setting in configuration: '[name]'") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 24aecdb5c80..b986d82ff52 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -734,8 +734,11 @@ proc/admin_notice(var/message, var/rights) return world.visibility = !(world.visibility) + var/long_message = "toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility])." + + send2adminirc("[key_name(src)]" + long_message) + message_admins("[key_name_admin(usr)]" + long_message, 1) log_admin("[key_name(usr)] toggled hub visibility.") - message_admins("[key_name_admin(usr)] toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility]).", 1) feedback_add_details("admin_verb","THUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc /datum/admins/proc/toggletraitorscaling() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 0dc349769d2..cfe94199c09 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -65,7 +65,7 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/toggledsay, //toggles dsay on/off for everyone, /client/proc/game_panel, //game panel, allows to change game-mode etc, /client/proc/cmd_admin_say, //admin-only ooc chat, - /datum/admins/proc/togglehubvisibility, /*toggles visibility on the BYOND Hub.*/ + /datum/admins/proc/togglehubvisibility, //toggles visibility on the BYOND Hub, /datum/admins/proc/PlayerNotes, /client/proc/cmd_mod_say, /datum/admins/proc/show_player_info, diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index bb01c846caf..dec82697067 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -9,6 +9,9 @@ message_admins("Admin logout: [key_name(src)]") if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell. send2adminirc("[key_name(src)] logged out - no more admins online.") - ..() + if(config.delist_when_no_admins && world.visibility) + world.visibility = FALSE + send2adminirc("Toggled hub visibility. The server is now invisible ([world.visibility]).") - return 1 \ No newline at end of file + ..() + return 1 From 2d978abfef469497e7410d87e8917ea8bb591221 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 13 Jan 2016 09:08:28 +0100 Subject: [PATCH 3/3] Adds a space. --- code/modules/admin/admin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index b986d82ff52..b1e98c8773e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -734,7 +734,7 @@ proc/admin_notice(var/message, var/rights) return world.visibility = !(world.visibility) - var/long_message = "toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility])." + var/long_message = " toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility])." send2adminirc("[key_name(src)]" + long_message) message_admins("[key_name_admin(usr)]" + long_message, 1)