if (!sv.active)
return;
- SV_VM_Begin();
+ if(cmd_source == src_command)
+ SV_VM_Begin();
in = 0;
if (Cmd_Argc() == 2)
}
}
- SV_VM_End();
+ if(cmd_source == src_command)
+ SV_VM_End();
}
CL_Disconnect ();
Host_ShutdownServer();
+ if(svs.maxclients != svs.maxclients_next)
+ {
+ svs.maxclients = svs.maxclients_next;
+ if (svs.clients)
+ Mem_Free(svs.clients);
+ svs.clients = (client_t *)Mem_Alloc(sv_mempool, sizeof(client_t) * svs.maxclients);
+ }
+
// remove menu
key_dest = key_game;
if (i >= 0 && i < MAX_MODELS)
{
strlcpy(sv.model_precache[i], com_token, sizeof(sv.model_precache[i]));
- sv.models[i] = Mod_ForName (sv.model_precache[i], true, false, false);
+ sv.models[i] = Mod_ForName (sv.model_precache[i], true, false, sv.model_precache[i][0] == '*' ? sv.modelname : NULL);
}
else
Con_Printf("unsupported model %i \"%s\"\n", i, com_token);
i++;
continue;
}
- if (host_client->name[i+1] == STRING_COLOR_RGB_DEFAULT && isxdigit(host_client->name[i+2]) && isxdigit(host_client->name[i+3]) && isxdigit(host_client->name[i+4]))
+ if (host_client->name[i+1] == STRING_COLOR_RGB_TAG_CHAR && isxdigit(host_client->name[i+2]) && isxdigit(host_client->name[i+3]) && isxdigit(host_client->name[i+4]))
{
j = i;
i += 4;
if (!e)
return;
- m = Mod_ForName (Cmd_Argv(1), false, true, false);
+ m = Mod_ForName (Cmd_Argv(1), false, true, NULL);
if (!m || !m->loaded || !m->Draw)
{
Con_Printf("viewmodel: can't load %s\n", Cmd_Argv(1));
if (Cmd_Argc() != 2)
{
- Con_Printf("\"maxplayers\" is \"%u\"\n", svs.maxclients);
+ Con_Printf("\"maxplayers\" is \"%u\"\n", svs.maxclients_next);
return;
}
if (sv.active)
{
Con_Print("maxplayers can not be changed while a server is running.\n");
- return;
+ Con_Print("It will be changed on next server startup (\"map\" command).\n");
}
n = atoi(Cmd_Argv(1));
n = bound(1, n, MAX_SCOREBOARD);
Con_Printf("\"maxplayers\" set to \"%u\"\n", n);
- if (svs.clients)
- Mem_Free(svs.clients);
- svs.maxclients = n;
- svs.clients = (client_t *)Mem_Alloc(sv_mempool, sizeof(client_t) * svs.maxclients);
+ svs.maxclients_next = n;
if (n == 1)
Cvar_Set ("deathmatch", "0");
else