Updated the maximum size for packets
According to 3ceam revision 764 clients from 2013-12-23 on can deal with bigger packets. 3ceam uses 65636 as maximum, but we decided to stick with the maximum for unsigned shorts. Thanks to Rytech! Please consider staying with the default value, because we will remove this configuration soon and make it a source side define which is depending on the packetversion define.
This commit is contained in:
@@ -8,12 +8,14 @@ debug: no
|
||||
// How long can a socket stall before closing the connection (in seconds)
|
||||
stall_time: 60
|
||||
|
||||
// Maximum allowed size for clients packets in bytes (default: 24576).
|
||||
// Maximum allowed size for clients packets in bytes (default: 65535).
|
||||
// NOTE: To reduce the size of reported packets, lower the values of defines, which
|
||||
// have been customized, such as MAX_STORAGE, MAX_GUILD_STORAGE or MAX_CART.
|
||||
// NOTE: Do not modify this setting, unless the client has been modified to support
|
||||
// larger packets. The client will crash, when it receives larger packets.
|
||||
socket_max_client_packet: 24576
|
||||
socket_max_client_packet: 65535
|
||||
// For clients before 2013-12-23 uncomment this
|
||||
//socket_max_client_packet: 24576
|
||||
|
||||
//----- IP Rules Settings -----
|
||||
|
||||
|
||||
@@ -212,7 +212,11 @@ int naddr_ = 0; // # of ip addresses
|
||||
|
||||
// Maximum packet size in bytes, which the client is able to handle.
|
||||
// Larger packets cause a buffer overflow and stack corruption.
|
||||
#if PACKETVER < 20131223
|
||||
static size_t socket_max_client_packet = 24576;
|
||||
#else
|
||||
static size_t socket_max_client_packet = USHRT_MAX;
|
||||
#endif
|
||||
|
||||
#ifdef SHOW_SERVER_STATS
|
||||
// Data I/O statistics
|
||||
@@ -1171,8 +1175,22 @@ int socket_config_read(const char* cfgName)
|
||||
ddos_autoreset = atoi(w2);
|
||||
else if (!strcmpi(w1,"debug"))
|
||||
access_debug = config_switch(w2);
|
||||
else if (!strcmpi(w1,"socket_max_client_packet"))
|
||||
else if (!strcmpi(w1,"socket_max_client_packet")){
|
||||
socket_max_client_packet = strtoul(w2, NULL, 0);
|
||||
|
||||
#if PACKETVER < 20131223
|
||||
if( socket_max_client_packet > 24576 ){
|
||||
ShowWarning( "socket_max_client_packet: Value %u is to high. Defaulting to %u.\n", socket_max_client_packet, 24576 );
|
||||
ShowWarning( "socket_max_client_packet: If you want to use this value consider upgrading your client to 2013-12-23 or newer.\n" );
|
||||
socket_max_client_packet = 24576;
|
||||
}
|
||||
#else
|
||||
if( socket_max_client_packet > USHRT_MAX ){
|
||||
ShowWarning( "socket_max_client_packet: Value %u is to high. Defaulting to %u.\n", socket_max_client_packet, USHRT_MAX );
|
||||
socket_max_client_packet = USHRT_MAX;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
else if (!strcmpi(w1, "import"))
|
||||
socket_config_read(w2);
|
||||
|
||||
Reference in New Issue
Block a user