diff --git a/source/src/server.cpp b/source/src/server.cpp index f1a73514..8bfb990f 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -3328,7 +3328,11 @@ void process(ENetPacket *packet, int sender, int chan) } int qmode = (mode >= GMODE_NUM ? mode - GMODE_NUM : mode); if(mode==GMODE_DEMO) vi->action = new demoplayaction(newstring(text)); - else vi->action = new mapaction(newstring(vi->text), qmode, sender, qmode!=mode); + else + { + char *vmap = newstring(vi->text ? behindpath(vi->text) : ""); + vi->action = new mapaction(vmap, qmode, sender, qmode!=mode); + } break; } case SA_KICK: diff --git a/source/src/serverfiles.h b/source/src/serverfiles.h index e9d27e61..f6b1edc7 100644 --- a/source/src/serverfiles.h +++ b/source/src/serverfiles.h @@ -141,10 +141,10 @@ static const char * const maplocstr[] = { "not found", "temporary", "custom", "l int findmappath(const char *mapname, char *filename) { + if(!mapname[0]) return MAP_NOTFOUND; string tempname; if(!filename) filename = tempname; const char *name = behindpath(mapname); - if(!mapname[0]) return MAP_NOTFOUND; formatstring(filename)(SERVERMAP_PATH_BUILTIN "%s.cgz", name); path(filename); int loc = MAP_NOTFOUND;