diff --git a/build/Version.props b/build/Version.props
index 8bbf9544b6..9d2eb2ce7c 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -9,7 +9,7 @@
7.0.0
13.3.0
15.3.0
- 7.1.2
+ 7.1.3
5.9.0
1.4.1
1.2.1
diff --git a/src/DMAPI/tgs.dm b/src/DMAPI/tgs.dm
index e2c89df90e..17464b44da 100644
--- a/src/DMAPI/tgs.dm
+++ b/src/DMAPI/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "7.1.2"
+#define TGS_DMAPI_VERSION "7.1.3"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
diff --git a/src/DMAPI/tgs/v3210/api.dm b/src/DMAPI/tgs/v3210/api.dm
index 666201a322..32dd93d2c0 100644
--- a/src/DMAPI/tgs/v3210/api.dm
+++ b/src/DMAPI/tgs/v3210/api.dm
@@ -36,6 +36,7 @@
var/instance_name
var/originmastercommit
var/commit
+ var/revision_date
var/list/cached_custom_tgs_chat_commands
var/warned_revison = FALSE
var/warned_custom_commands = FALSE
@@ -76,6 +77,21 @@
logs = splittext(logs[logs.len], " ")
if (logs.len >= 2)
originmastercommit = logs[2]
+#if DM_VERSION >= 514
+ if(logs.len >= 5)
+ var/revision_date_epoch = text2num(logs[5])
+ if(isnum(revision_date_epoch))
+ revision_date = unix_epoch_to_iso_timestamp(revision_date_epoch)
+ else
+ revision_date = ""
+ TGS_ERROR_LOG("Error parsing origin commit timestamp as number")
+ else
+ revision_date = ""
+ TGS_ERROR_LOG("Error parsing origin commmit timestamp at all")
+#else
+ revision_date = ""
+ TGS_WARNING_LOG("Revision date parsing is not support on versions below 514")
+#endif
else
TGS_ERROR_LOG("Error parsing origin commmit logs")
@@ -184,6 +200,7 @@
var/datum/tgs_revision_information/ri = new
ri.commit = commit
ri.origin_commit = originmastercommit
+ ri.timestamp = revision_date
return ri
/datum/tgs_api/v3210/EndProcess()
@@ -211,6 +228,14 @@
/datum/tgs_api/v3210/SecurityLevel()
return TGS_SECURITY_TRUSTED
+#if DM_VERSION >= 514
+/datum/tgs_api/v3210/proc/unix_epoch_to_iso_timestamp(epoch)
+ epoch += world.timezone * 3600 // adjust for timezone
+ epoch -= 946684800 // adjust for unix to byond epoch lapse (30 years)
+ epoch *= 10 // adjust for time2text expecting decisonds
+ return time2text(epoch, "YYYY-MM-DDThh:mm:ss", 0)
+#endif
+
#undef REBOOT_MODE_NORMAL
#undef REBOOT_MODE_HARD
#undef REBOOT_MODE_SHUTDOWN