diff options
| author | Johannes Loher <ghost91@gmx.net> | 2011-07-22 23:17:16 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-07-30 18:23:59 +0200 |
| commit | e2664c1b00e24158c3e9cee02ab517935be2f8c9 (patch) | |
| tree | 27349a384e01e626d9a93869877c62e3926da647 /src/engine/server/server.cpp | |
| parent | 0f11cf014c7a53c20d4432ea26af41123f9f2436 (diff) | |
| download | zcatch-e2664c1b00e24158c3e9cee02ab517935be2f8c9.tar.gz zcatch-e2664c1b00e24158c3e9cee02ab517935be2f8c9.zip | |
Added server sided automatic demo recording
Diffstat (limited to 'src/engine/server/server.cpp')
| -rw-r--r-- | src/engine/server/server.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index 46f87840..57be060b 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -22,6 +22,7 @@ #include <engine/shared/packer.h> #include <engine/shared/protocol.h> #include <engine/shared/snapshot.h> +#include <engine/shared/filecollection.h> #include <mastersrv/mastersrv.h> @@ -1519,6 +1520,25 @@ void CServer::ConShutdown(IConsole::IResult *pResult, void *pUser) ((CServer *)pUser)->m_RunServer = 0; } +void CServer::DemoRecorder_HandleAutoStart() +{ + if(g_Config.m_SvAutoDemoRecord) + { + m_DemoRecorder.Stop(); + char aFilename[128]; + char aDate[20]; + str_timestamp(aDate, sizeof(aDate)); + str_format(aFilename, sizeof(aFilename), "demos/%s_%s.demo", "auto/autorecord", aDate); + m_DemoRecorder.Start(Storage(), m_pConsole, aFilename, GameServer()->NetVersion(), m_aCurrentMap, m_CurrentMapCrc, "server"); + if(g_Config.m_SvAutoDemoMax) + { + // clean up auto recorded demos + CFileCollection AutoDemos; + AutoDemos.Init(Storage(), "demos/server", "autorecord", ".demo", g_Config.m_SvAutoDemoMax); + } + } +} + void CServer::ConRecord(IConsole::IResult *pResult, void *pUser) { CServer* pServer = (CServer *)pUser; |