This commit is contained in:
Fluffy
2024-02-16 02:42:03 +01:00
committed by GitHub
parent 5816afa7a6
commit 7b00d35a77
6 changed files with 75 additions and 64 deletions
-4
View File
@@ -28,9 +28,7 @@ var/list/admin_verbs_admin = list(
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
/client/proc/cmd_admin_check_contents, /*displays the contents of an instance*/
/datum/admins/proc/access_news_network, /*allows access of newscasters*/
/client/proc/giveruntimelog, /*allows us to give access to runtime logs to somebody*/
/client/proc/getserverlog, /*allows us to fetch server logs (diary) for other days*/
/client/proc/view_signal_log, /*allows admins to check the log of signaler uses*/
/client/proc/jumptocoord, /*we ghost and jump to a coordinate*/
/client/proc/jumptozlevel,
/client/proc/jumptoshuttle,
@@ -393,7 +391,6 @@ var/list/admin_verbs_hideable = list(
/datum/admins/proc/ccannoucment,
/client/proc/cmd_display_init_log,
/client/proc/getruntimelog,
/client/proc/giveruntimelog,
/client/proc/toggledebuglogs,
/client/proc/getserverlog,
/client/proc/view_chemical_reaction_logs,
@@ -467,7 +464,6 @@ var/list/admin_verbs_dev = list( //will need to be altered - Ryan784
/client/proc/debug_variables,
/client/proc/dsay,
/client/proc/getruntimelog,
/client/proc/giveruntimelog,
/client/proc/hide_most_verbs,
/client/proc/kill_air,
/client/proc/kill_airgroup,
+10 -48
View File
@@ -13,40 +13,15 @@
codebase for the entire /TG/station commuity a TONNE easier :3 Thanks for your help!
*/
//This proc allows Game Masters to grant a client access to the .getruntimelog verb
//Permissions expire at the end of each round.
//Runtimes can be used to meta or spot game-crashing exploits so it's advised to only grant coders that
//you trust access. Also, it may be wise to ensure that they are not going to play in the current round.
/client/proc/giveruntimelog()
set name = ".giveruntimelog"
set desc = "Give somebody access to any session logfiles saved to the /log/runtime/ folder."
set category = null
if(!src.holder)
to_chat(src, "<span class='warning'>Only Admins may use this command.</span>")
return
var/client/target = input(src,"Choose somebody to grant access to the server's runtime logs (permissions expire at the end of each round):","Grant Permissions",null) as null|anything in GLOB.clients
if(!istype(target,/client))
to_chat(src, "<span class='warning'>Error: giveruntimelog(): Client not found.</span>")
return
add_verb(target, /client/proc/getruntimelog)
to_chat(target, "<span class='warning'>You have been granted access to runtime logs. Please use them responsibly or risk being banned.</span>")
return
//This proc allows download of runtime logs saved within the data/logs/ folder by dreamdeamon.
//It works similarly to show-server-log.
/**
* Allows a client that has this proc to download the runtime logs of the current round
*/
/client/proc/getruntimelog()
set name = ".getruntimelog"
set desc = "Retrieve any session logfiles saved by dreamdeamon."
set category = null
var/path = browse_files("data/logs/_runtime/")
if(!path)
return
var/path = LOGPATH(GLOB.config.logfiles["world_runtime_log"])
if(file_spam_check())
return
@@ -54,17 +29,21 @@
message_admins("[key_name_admin(src)] accessed file: [path]")
src << run( file(path) )
to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.")
return
//This proc allows download of past server logs saved within the data/logs/ folder.
//It works similarly to show-server-log.
/**
* Allows a client that has this proc the download of a log file of the active round
*
* Assigned only to admins currently
*/
/client/proc/getserverlog()
set name = ".getserverlog"
set desc = "Fetch logfiles from data/logs"
set category = null
var/path = browse_files("data/logs/")
var/path = browse_files(LOGPATH("")) //Prompt for which file to download, understands subfolders from files
if(!path)
return
@@ -74,20 +53,3 @@
message_admins("[key_name_admin(src)] accessed file: [path]")
src << run( file(path) )
to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.")
return
//Other log stuff put here for the sake of organisation
/client/proc/view_signal_log()
set name = "View Signaler Log"
set desc = "Use this to view who sent signaler signals to things."
set category = "Admin"
var/text_signal_log = ""
for(var/log in GLOB.signal_log)
text_signal_log += "[log]<br>"
var/datum/browser/signal_win = new(usr, "signallog", "Signal Log", 550, 500)
signal_win.set_content(text_signal_log)
signal_win.open()