diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
index 6cc11afdf5..889706744a 100644
--- a/code/modules/holodeck/computer.dm
+++ b/code/modules/holodeck/computer.dm
@@ -111,6 +111,11 @@
if(A)
load_program(A)
if("safety")
+ if(!issilicon(usr) && !IsAdminGhost(usr))
+ var/msg = "[key_name(usr)] attempted to emag the holodeck using a href they shouldn't have!"
+ message_admins(msg)
+ log_admin(msg)
+ return
obj_flags ^= EMAGGED
if((obj_flags & EMAGGED) && program && emag_programs[program.name])
emergency_shutdown()
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index 8cfe2c31c3..591fc650b4 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -145,7 +145,13 @@
ViewManifest()
if(href_list["SelectedJob"])
-
+ if(!SSticker || !SSticker.IsRoundInProgress())
+ var/msg = "[key_name(usr)] attempted to join the round using a href that shouldn't be available at this moment!"
+ log_admin(msg)
+ message_admins(msg)
+ to_chat(usr, "The round is either not ready, or has already finished...")
+ return
+
if(!GLOB.enter_allowed)
to_chat(usr, "There is an administrative lock on entering the game!")
return
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index d99900187b..a5943aa0e6 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -808,11 +808,18 @@ Pass a positive integer as an argument to override a bot's default speed.
switch(href_list["operation"])
if("patrol")
+ if(!issilicon(usr) && !IsAdminGhost(usr) && !(bot_core.allowed(usr) || !locked))
+ return TRUE
auto_patrol = !auto_patrol
bot_reset()
if("remote")
remote_disabled = !remote_disabled
if("hack")
+ if(!issilicon(usr) && !IsAdminGhost(usr))
+ var/msg = "[key_name(usr)] attempted to hack a bot with a href that shouldn't be available!"
+ message_admins(msg)
+ log_admin(msg)
+ return TRUE
if(emagged != 2)
emagged = 2
hacked = TRUE
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 9572b4dafc..f22139ac22 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -131,7 +131,8 @@ Auto Patrol: []"},
/mob/living/simple_animal/bot/secbot/Topic(href, href_list)
if(..())
return 1
-
+ if(!issilicon(usr) && !IsAdminGhost(usr) && !(bot_core.allowed(usr) || !locked))
+ return TRUE
switch(href_list["operation"])
if("idcheck")
idcheck = !idcheck