mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-18 07:22:03 +00:00
New -port param
This commit is contained in:
parent
b128f44986
commit
1c21a4ed6f
1 changed files with 16 additions and 18 deletions
34
src/i_tcp.c
34
src/i_tcp.c
|
@ -813,6 +813,8 @@ static SOCKET_TYPE UDP_Bind(int family, struct sockaddr *addr, socklen_t addrlen
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
mysockaddr_t straddr;
|
mysockaddr_t straddr;
|
||||||
|
struct sockaddr_in sin;
|
||||||
|
socklen_t len = sizeof(sin);
|
||||||
|
|
||||||
if (s == (SOCKET_TYPE)ERRSOCKET)
|
if (s == (SOCKET_TYPE)ERRSOCKET)
|
||||||
return (SOCKET_TYPE)ERRSOCKET;
|
return (SOCKET_TYPE)ERRSOCKET;
|
||||||
|
@ -906,12 +908,16 @@ static SOCKET_TYPE UDP_Bind(int family, struct sockaddr *addr, socklen_t addrlen
|
||||||
CONS_Printf(M_GetText("Network system buffer set to: %dKb\n"), opt>>10);
|
CONS_Printf(M_GetText("Network system buffer set to: %dKb\n"), opt>>10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (getsockname(s, (struct sockaddr *)&sin, &len) == -1)
|
||||||
|
CONS_Alert(CONS_WARNING, M_GetText("Failed to get port number\n"));
|
||||||
|
else
|
||||||
|
current_port = (UINT16)ntohs(sin.sin_port);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean UDP_Socket(void)
|
static boolean UDP_Socket(void)
|
||||||
{
|
{
|
||||||
const char *sock_port = NULL;
|
|
||||||
size_t s;
|
size_t s;
|
||||||
struct my_addrinfo *ai, *runp, hints;
|
struct my_addrinfo *ai, *runp, hints;
|
||||||
int gaie;
|
int gaie;
|
||||||
|
@ -933,20 +939,11 @@ static boolean UDP_Socket(void)
|
||||||
hints.ai_socktype = SOCK_DGRAM;
|
hints.ai_socktype = SOCK_DGRAM;
|
||||||
hints.ai_protocol = IPPROTO_UDP;
|
hints.ai_protocol = IPPROTO_UDP;
|
||||||
|
|
||||||
if (M_CheckParm("-clientport"))
|
|
||||||
{
|
|
||||||
if (!M_IsNextParm())
|
|
||||||
I_Error("syntax: -clientport <portnum>");
|
|
||||||
sock_port = M_GetNextParm();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
sock_port = port_name;
|
|
||||||
|
|
||||||
if (M_CheckParm("-bindaddr"))
|
if (M_CheckParm("-bindaddr"))
|
||||||
{
|
{
|
||||||
while (M_IsNextParm())
|
while (M_IsNextParm())
|
||||||
{
|
{
|
||||||
gaie = I_getaddrinfo(M_GetNextParm(), sock_port, &hints, &ai);
|
gaie = I_getaddrinfo(M_GetNextParm(), port_name, &hints, &ai);
|
||||||
if (gaie == 0)
|
if (gaie == 0)
|
||||||
{
|
{
|
||||||
runp = ai;
|
runp = ai;
|
||||||
|
@ -967,7 +964,7 @@ static boolean UDP_Socket(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gaie = I_getaddrinfo("0.0.0.0", sock_port, &hints, &ai);
|
gaie = I_getaddrinfo("0.0.0.0", port_name, &hints, &ai);
|
||||||
if (gaie == 0)
|
if (gaie == 0)
|
||||||
{
|
{
|
||||||
runp = ai;
|
runp = ai;
|
||||||
|
@ -982,8 +979,8 @@ static boolean UDP_Socket(void)
|
||||||
#ifdef HAVE_MINIUPNPC
|
#ifdef HAVE_MINIUPNPC
|
||||||
if (UPNP_support)
|
if (UPNP_support)
|
||||||
{
|
{
|
||||||
I_UPnP_rem(sock_port, "UDP");
|
I_UPnP_rem(port_name, "UDP");
|
||||||
I_UPnP_add(NULL, sock_port, "UDP");
|
I_UPnP_add(NULL, port_name, "UDP");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1000,7 +997,7 @@ static boolean UDP_Socket(void)
|
||||||
{
|
{
|
||||||
while (M_IsNextParm())
|
while (M_IsNextParm())
|
||||||
{
|
{
|
||||||
gaie = I_getaddrinfo(M_GetNextParm(), sock_port, &hints, &ai);
|
gaie = I_getaddrinfo(M_GetNextParm(), port_name, &hints, &ai);
|
||||||
if (gaie == 0)
|
if (gaie == 0)
|
||||||
{
|
{
|
||||||
runp = ai;
|
runp = ai;
|
||||||
|
@ -1021,7 +1018,7 @@ static boolean UDP_Socket(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gaie = I_getaddrinfo("::", sock_port, &hints, &ai);
|
gaie = I_getaddrinfo("::", port_name, &hints, &ai);
|
||||||
if (gaie == 0)
|
if (gaie == 0)
|
||||||
{
|
{
|
||||||
runp = ai;
|
runp = ai;
|
||||||
|
@ -1478,14 +1475,15 @@ boolean I_InitTcpNetwork(void)
|
||||||
if (!I_InitTcpDriver())
|
if (!I_InitTcpDriver())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (M_CheckParm("-udpport"))
|
if (M_CheckParm("-port"))
|
||||||
|
// Combined -udpport and -clientport into -port
|
||||||
|
// As it was really redundant having two seperate parms that does the same thing
|
||||||
{
|
{
|
||||||
if (M_IsNextParm())
|
if (M_IsNextParm())
|
||||||
strcpy(port_name, M_GetNextParm());
|
strcpy(port_name, M_GetNextParm());
|
||||||
else
|
else
|
||||||
strcpy(port_name, "0");
|
strcpy(port_name, "0");
|
||||||
}
|
}
|
||||||
current_port = (UINT16)atoi(port_name);
|
|
||||||
|
|
||||||
// parse network game options,
|
// parse network game options,
|
||||||
if (M_CheckParm("-server") || dedicated)
|
if (M_CheckParm("-server") || dedicated)
|
||||||
|
|
Loading…
Reference in a new issue