New Verb added for "Game Master"s: getruntimelog

This verb can only be accessed by typing it in full in the input bar down the bottom of the gamescreen.

HOW DO I LOG RUNTIMES?
Firstly, start dreamdeamon if it isn't already running. Then select "world>Log Session" in dreamdeamon (or press the F3 key)
navigate the popup window to the log/runtime/ folder from where your tgstation .dmb is located.

OPTIONAL:
you can select the little checkbox down the bottom to make dreamdeamon save the log everytime you start a world. Just remember to repeat these steps with a new name when you update to a new revision!

Save it with the name of the revision your server uses (e.g. r3459.txt).

This will allow us to gather information on bugs across multiple servers simply by logging on as a player and asking any Game Master to send us the logs.
Hence making maintaining our codebase for the entire community a TONNE easier :3 
If you're keeping runtime logs: Thanks for your help!

~love from #coderbus

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3475 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-04-17 18:59:31 +00:00
parent 8188207126
commit cbd74700fc
4 changed files with 61 additions and 1 deletions
+2
View File
@@ -271,6 +271,7 @@
verbs += /client/proc/everyone_random
verbs += /client/proc/only_one
verbs += /client/proc/deadmin_self
verbs += /client/proc/getruntimelog //used by coders to retrieve runtime logs
else return
return
@@ -395,6 +396,7 @@
verbs -= /client/proc/jumptocoord
verbs -= /client/proc/everyone_random
verbs -= /client/proc/Set_Holiday
verbs -= /client/proc/getruntimelog //used by coders to retrieve runtime logs
verbs -= /proc/possess
verbs -= /proc/release
//verbs -= /client/proc/give_spell --Merged with view variables
+53
View File
@@ -0,0 +1,53 @@
/*
HOW DO I LOG RUNTIMES?
Firstly, start dreamdeamon if it isn't already running. Then select "world>Log Session" (or press the F3 key)
navigate the popup window to the log/runtime/ folder from where your tgstation .dmb is located.
OPTIONAL: you can select the little checkbox down the bottom to make dreamdeamon save the log everytime you
start a world. Just remember to repeat these steps with a new name when you update to a new revision!
Save it with the name of the revision your server uses (e.g. r3459.txt).
Coders with the Game Master rank will now be able to access any runtime logs you have archived this way!
This will allow us to gather information on bugs across multiple servers and make maintaining the TG
codebase for the entire /TG/station commuity a TONNE easier :3 Thanks for your help!
*/
#define FTPDELAY 200 //20 second delay to prevent spam
//This proc allows GameMasters to download txt files saved to the log/runtime/ folder on the server.
//In effect this means the server owner can log game sessions through DreamDeamon to that folder and
//Coders (with access) can download logs (old and current).
//To make life easier on everyone please name logfiles according to the revision number in use!
//This proc has a failsafe built in to prevent spamming of ftp requests. As such it can only be used once every
//20 seconds. This can be changed by modifying FTPDELAY's value.
//PLEASE USE RESPONSIBLY, only download from the server if the log isn't already available elsewhere!
//Bandwidth is expensive and lags are lame. Although txt files of a few kB shouldn't cause problems really ~Carn
/client/proc/getruntimelog()
set name = "getruntimelog"
set desc = "Retrieve any session logfiles saved by dreamdeamon"
set category = "Debug"
set hidden = 1
if( !src.holder || holder.rank != "Game Master" )
src << "<font color='red'>Only Game Masters may use this command.</font>"
return
var/time_to_wait = fileaccess_timer - world.time
if(time_to_wait > 0)
src << "<font color='red'>Error: getruntimelog(): FTP-request spam prevention. Please wait [round(time_to_wait/10)] seconds.</font>"
return
fileaccess_timer = world.time + FTPDELAY
var/list/list_of_runtimelogs = flist("log/runtime/")
var/choice = input(src,"Choose a runtime-log to download:","Download",null) in list_of_runtimelogs
if(!choice || !fexists("log/runtime/[choice]"))
src << "<font color='red'>Error: getruntimelog(): Files not found/Invalid file([choice]).</font>"
return
src << ftp("log/runtime/[choice]")
return