]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - netconn.c
Mem_AllocPool flags and parent parameters added, now there can be multiple temporary...
[xonotic/darkplaces.git] / netconn.c
index 721b9a0299b594806837bda83e807786af8d139a..12636d4c3ef5ec5b2161d5d90d5a57b83205cf86 100755 (executable)
--- a/netconn.c
+++ b/netconn.c
@@ -49,12 +49,12 @@ cvar_t net_connecttimeout = {0, "net_connecttimeout","10"};
 cvar_t hostname = {CVAR_SAVE, "hostname", "UNNAMED"};
 cvar_t developer_networking = {0, "developer_networking", "0"};
 
-cvar_t cl_fakelocalping_min = {0, "cl_fakelocalping_min","0"};
-cvar_t cl_fakelocalping_max = {0, "cl_fakelocalping_max","0"};
-static cvar_t cl_fakepacketloss_receive = {0, "cl_fakepacketloss_receive","0"};
-static cvar_t cl_fakepacketloss_send = {0, "cl_fakepacketloss_send","0"};
-static cvar_t sv_fakepacketloss_receive = {0, "sv_fakepacketloss_receive","0"};
-static cvar_t sv_fakepacketloss_send = {0, "sv_fakepacketloss_send","0"};
+cvar_t cl_netlocalping_min = {0, "cl_netlocalping_min","0"};
+cvar_t cl_netlocalping_max = {0, "cl_netlocalping_max","0"};
+static cvar_t cl_netpacketloss_receive = {0, "cl_netpacketloss_receive","0"};
+static cvar_t cl_netpacketloss_send = {0, "cl_netpacketloss_send","0"};
+static cvar_t sv_netpacketloss_receive = {0, "sv_netpacketloss_receive","0"};
+static cvar_t sv_netpacketloss_send = {0, "sv_netpacketloss_send","0"};
 
 
 /* statistic counters */
@@ -98,13 +98,13 @@ int NetConn_Read(lhnetsocket_t *mysocket, void *data, int maxlength, lhnetaddres
 {
        int length = LHNET_Read(mysocket, data, maxlength, peeraddress);
        int i;
-       if (cl_fakepacketloss_receive.integer)
+       if (cl_netpacketloss_receive.integer)
                for (i = 0;i < cl_numsockets;i++)
-                       if (cl_sockets[i] == mysocket && (rand() % 100) < cl_fakepacketloss_receive.integer)
+                       if (cl_sockets[i] == mysocket && (rand() % 100) < cl_netpacketloss_receive.integer)
                                return 0;
-       if (sv_fakepacketloss_receive.integer)
+       if (sv_netpacketloss_receive.integer)
                for (i = 0;i < cl_numsockets;i++)
-                       if (sv_sockets[i] == mysocket && (rand() % 100) < sv_fakepacketloss_receive.integer)
+                       if (sv_sockets[i] == mysocket && (rand() % 100) < sv_netpacketloss_receive.integer)
                                return 0;
        if (developer_networking.integer && length != 0)
        {
@@ -126,13 +126,13 @@ int NetConn_Write(lhnetsocket_t *mysocket, const void *data, int length, const l
 {
        int ret;
        int i;
-       if (cl_fakepacketloss_send.integer)
+       if (cl_netpacketloss_send.integer)
                for (i = 0;i < cl_numsockets;i++)
-                       if (cl_sockets[i] == mysocket && (rand() % 100) < cl_fakepacketloss_send.integer)
+                       if (cl_sockets[i] == mysocket && (rand() % 100) < cl_netpacketloss_send.integer)
                                return length;
-       if (sv_fakepacketloss_send.integer)
+       if (sv_netpacketloss_send.integer)
                for (i = 0;i < cl_numsockets;i++)
-                       if (sv_sockets[i] == mysocket && (rand() % 100) < sv_fakepacketloss_send.integer)
+                       if (sv_sockets[i] == mysocket && (rand() % 100) < sv_netpacketloss_send.integer)
                                return length;
        ret = LHNET_Write(mysocket, data, length, peeraddress);
        if (developer_networking.integer)
@@ -800,8 +800,8 @@ int NetConn_ClientParsePacket(lhnetsocket_t *mysocket, qbyte *data, int length,
                                hostcache[n].ping = 100000;
                                hostcache[n].querytime = realtime;
                                // build description strings for the things users care about
-                               strncpy(hostcache[n].line1, "?", sizeof(hostcache[n].line1));
-                               strncpy(hostcache[n].line2, ipstring, sizeof(hostcache[n].line2));
+                               strlcpy (hostcache[n].line1, "?", sizeof (hostcache[n].line1));
+                               strlcpy (hostcache[n].line2, ipstring, sizeof (hostcache[n].line2));
                                // if not in the slist menu we should print the server to console
                                if (m_state != m_slist)
                                        Con_Printf("querying %s\n", ipstring);
@@ -986,6 +986,7 @@ void NetConn_ClientFrame(void)
        {
                Con_Print("Connection timed out\n");
                CL_Disconnect();
+               Host_ShutdownServer (false);
        }
        for (conn = netconn_list;conn;conn = conn->next)
                NetConn_ReSendMessage(conn);
@@ -1592,19 +1593,19 @@ void NetConn_Init(void)
 {
        int i;
        lhnetaddress_t tempaddress;
-       netconn_mempool = Mem_AllocPool("Networking");
+       netconn_mempool = Mem_AllocPool("Networking", 0, NULL);
        Cmd_AddCommand("net_stats", Net_Stats_f);
        Cmd_AddCommand("net_slist", Net_Slist_f);
        Cmd_AddCommand("heartbeat", Net_Heartbeat_f);
        Cvar_RegisterVariable(&net_messagetimeout);
        Cvar_RegisterVariable(&net_messagerejointimeout);
        Cvar_RegisterVariable(&net_connecttimeout);
-       Cvar_RegisterVariable(&cl_fakelocalping_min);
-       Cvar_RegisterVariable(&cl_fakelocalping_max);
-       Cvar_RegisterVariable(&cl_fakepacketloss_receive);
-       Cvar_RegisterVariable(&cl_fakepacketloss_send);
-       Cvar_RegisterVariable(&sv_fakepacketloss_receive);
-       Cvar_RegisterVariable(&sv_fakepacketloss_send);
+       Cvar_RegisterVariable(&cl_netlocalping_min);
+       Cvar_RegisterVariable(&cl_netlocalping_max);
+       Cvar_RegisterVariable(&cl_netpacketloss_receive);
+       Cvar_RegisterVariable(&cl_netpacketloss_send);
+       Cvar_RegisterVariable(&sv_netpacketloss_receive);
+       Cvar_RegisterVariable(&sv_netpacketloss_send);
        Cvar_RegisterVariable(&hostname);
        Cvar_RegisterVariable(&developer_networking);
        Cvar_RegisterVariable(&cl_netport);