Yep! A small ZScript mod can certainly do that.
Note this isn't tested and probably won't work as-is, but the concept should look something like:
CVARINFO
- Code: Select all • Expand view
server string sv_lastmap;
MAPINFO
- Code: Select all • Expand view
GameInfo { AddEventHandler = "SaveLastLevel"; }
ZSCRIPT
- Code: Select all • Expand view
class SaveLastLevel : EventHandler {
override void WorldLoaded(worldevent e) {
CVar lastmap = CVar.FindCVar('sv_lastmap');
lastmap.SetString(level.MapName);
}
override void OnRegister() {
CVar lastmap = CVar.FindCVar('sv_lastmap');
console.printf("Last played map was ... "..lastmap.GetString());
}
}
Having this mod autoloaded should automatically save the current map lump name into a cvar every time you load into a new map. Ideally, this shouldn't conflict with anything at all, so you could set it up and forget about it.
Of course, starting a new game would instantly overwrite your sv_lastmap
cvar, so check it first if you want to know! 
EDIT: Added an
OnRegister()
override that prints the last played map to the console when the event handler is registered, so if you do accidentally start a new game you can just check the console.
