- // client exists, check what mode the user wants
- i = COM_CheckParm ("-dedicated");
+ cls.state = ca_dedicated;
+ // check for -dedicated specifying how many players
+ if (i && i + 1 < com_argc && atoi (com_argv[i+1]) >= 1)
+ svs.maxclients = atoi (com_argv[i+1]);
+ if (COM_CheckParm ("-listen"))
+ Sys_Error ("Only one of -dedicated or -listen can be specified");
+ // default sv_public on for dedicated servers (often hosted by serious administrators), off for listen servers (often hosted by clueless users)
+ Cvar_SetValue("sv_public", 1);
+ }
+ else if (cl_available)
+ {
+ // client exists and not dedicated, check if -listen is specified
+ cls.state = ca_disconnected;
+ i = COM_CheckParm ("-listen");