Something back in 2007 I discovered about DarkPlaces when playing some FFA with scar3crow, LordHavoc and others checking out new DP features LordHavoc had added at the time was that the "reconnect" command works in DarkPlaces.
In DarkPlaces if you somehow get disconnected from a server, you can type "reconnect" instead of "connect xx.xx.xxx.xx" or "connect whatever.server.com:ppppp".
R00k wrote a fixed "reconnect" command for NetQuake within the last few days:
Code: Select all
void Host_Reconnect_f (void)
{
extern char server_name[MAX_QPATH];
char host[MAX_QPATH];
if ((!sv.active) && (cls.state == ca_disconnected))//Clients that get booted can type reconnect.
{
Q_strncpyz(host, va("%s:%u\n",server_name,net_hostport), sizeof(host));
if (server_name[0])
{
cls.demonum = -1;
if (cls.demoplayback)
{
CL_StopPlayback ();
CL_Disconnect ();
}
Con_Printf("reconnecting to %s...\n",server_name);
CL_EstablishConnection(host);
}
else
Con_Printf("No server connection previously established this session.\n");
}
SCR_BeginLoadingPlaque ();
cls.signon = 0;
}
The above code appears to be geared towards ip:port supporting clients (i.e. ProQuake, Qrack, JoeQuake and any other clients that a "connect quake.myserver.com:26005" would work in.
R00k notes:
R00k wrote:I had to add 2 things, the latter SCR_Begin.. and cls.signon as this code was called by a stuffcmd by the server. Yes the server underhandedly tells each client to "automatically" type reconnect via level change (wow thats a hack). Thats like banning people by stuffing a command "disconnect" but that above code works now. With out the last two lines, movements carried over from map to map...