Index: db/packet_db.txt
===================================================================
--- db/packet_db.txt (revision 17361)
+++ db/packet_db.txt (working copy)
@@ -1784,7 +1784,7 @@
//2012-06-18
packet_ver: 32
0x0983,29
-0x0861,18,bookingregreq,2:4:6 //actually 05-03
+0x0861,18,bookingregreq,2:4:6 //actually 12-05-03
//2012-07-02aRagexeRE (unstable)
packet_ver: 33
Index: conf/battle/client.conf
===================================================================
--- conf/battle/client.conf (revision 17361)
+++ conf/battle/client.conf (working copy)
@@ -12,26 +12,44 @@
// Set here which client version do you accept. Add all values of clients:
// Clients older than accepted versions, and versions not set to 'accepted'
// here will be rejected when logging in
-// 0x00001: Clients older than 2004-09-06aSakray (packet versions 5-9)
-// 0x00002: 2004-09-06aSakexe (version 10)
-// 0x00004: 2004-09-20aSakexe (version 11)
-// 0x00008: 2004-10-05aSakexe (version 12)
-// 0x00010: 2004-10-25aSakexe (version 13)
-// 0x00020: 2004-11-29aSakexe (version 14)
-// 0x00040: 2005-01-10bSakexe (version 15)
-// 0x00080: 2005-05-09aSakexe (version 16)
-// 0x00100: 2005-06-28aSakexe (version 17)
-// 0x00200: 2005-07-18aSakexe (version 18)
-// 0x00400: 2005-07-19bSakexe (version 19)
-// 0x00800: 2006-03-27aSakexe (version 20)
-// 0x01000: 2007-01-08aSakexe (version 21)
-// 0x02000: 2007-02-12aSakexe (version 22)
-// 0x04000: 2008-09-10aSakexe (version 23)
-// 0x08000: 2008-08-27aRagexeRE (version 24)
-// 0x10000: 2008-09-10aRagexeRE (version 25)
-// default value: 0xFFFFFFF (all clients)
-packet_ver_flag: 0xFFFFFFF
+// 0x00000001: Clients older than 2004-09-06aSakray (packet versions 5-9)
+// 0x00000002: 2004-09-06 aSakexe (version 10)
+// 0x00000004: 2004-09-20 aSakexe (version 11)
+// 0x00000008: 2004-10-05 aSakexe (version 12)
+// 0x00000010: 2004-10-25 aSakexe (version 13)
+// 0x00000020: 2004-11-29 aSakexe (version 14)
+// 0x00000040: 2005-01-10 bSakexe (version 15)
+// 0x00000080: 2005-05-09 aSakexe (version 16)
+// 0x00000100: 2005-06-28 aSakexe (version 17)
+// 0x00000200: 2005-07-18 aSakexe (version 18)
+// 0x00000400: 2005-07-19 bSakexe (version 19)
+// 0x00000800: 2006-03-27 aSakexe (version 20)
+// 0x00001000: 2007-01-08 aSakexe (version 21)
+// 0x00002000: 2007-02-12 aSakexe (version 22)
+// 0x00004000: 2008-09-10 aSakexe (version 23)
+// 0x00008000: 2008-08-27 aRagexeRE (version 24)
+// 0x00010000: 2008-09-10 aRagexeRE (version 25)
+// 0x00020000: 2010-11-24 aRagexeRE (version 26)
+// 0x00040000: 2011-10-05 aRagexeRE (version 27)
+// 0x00080000: 2011-11-02 aRagexe (version 28)
+// 0x00100000: 2012-03-07 fRagexeRE (version 29)
+// 0x00200000: 2012-04-10 aRagexeRE (version 30)
+// 0x00400000: 2012-04-18 aRagexeRE (version 31)
+// 0x00800000: 2012-06-18 unknow (version 32)
+// 0x01000000: 2012-07-02 aRagexeRE (version 33)
+// 0x02000000: 2013-03-20 Ragexe (version 34)
+// 0x04000000: 2013-05-15 aRagexe (version 35)
+// 0x08000000: 2013-05-22 Ragexe (version 36)
+// 0x10000000: 2013-05-29 Ragexe (version 37)
+// 0x20000000: 2013-06-05 Ragexe (version 38)
+// 0x40000000: 2013-06-12 Ragexe (version 39)
+// default value: 0xFFFFFFFF (all clients/version)
+packet_ver_flag: 0xFFFFFFFF
+// 0x00000001: 2013-06-26 Ragexe (version 41)
+// default value: 0xFFFFFFFF (all clients/version)
+packet_ver_flag2: 0xFFFFFFFF
+
// Minimum delay between whisper/global/party/guild messages (in ms)
// Messages that break this threshold are silently omitted.
min_chat_delay: 0
Index: src/map/clif.c
===================================================================
--- src/map/clif.c (revision 17361)
+++ src/map/clif.c (working copy)
@@ -721,7 +721,7 @@
/// Makes an item appear on the ground.
/// 009e <id>.L <name id>.W <identified>.B <x>.W <y>.W <subX>.B <subY>.B <amount>.W (ZC_ITEM_FALL_ENTRY)
-/// 084b(2013) <id>.L <name id>.W <type>.W <identified>.B <x>.W <y>.W <subX>.B <subY>.B <amount>.W (ZC_ITEM_FALL_ENTRY4)
+/// 084b <id>.L <name id>.W <type>.W <identified>.B <x>.W <y>.W <subX>.B <subY>.B <amount>.W (ZC_ITEM_FALL_ENTRY4)
void clif_dropflooritem(struct flooritem_data* fitem)
{
#if PACKETVER >= 20130000
@@ -9061,8 +9063,9 @@
sex = RFIFOB(fd, packet_db[packet_ver][cmd].pos[4]);
if( packet_ver < 5 || // reject really old client versions
- (packet_ver <= 9 && (battle_config.packet_ver_flag & 1) == 0) || // older than 6sept04
- (packet_ver > 9 && (battle_config.packet_ver_flag & 1<<(packet_ver-9)) == 0)) // version not allowed
+ (packet_ver <= 9 && (battle_config.packet_ver_flag & 1) == 0) || // older than 6sept04
+ (packet_ver > 9 && packet_ver <41 (battle_config.packet_ver_flag & 1<<(packet_ver-9)) == 0) || // version not allowed
+ (packet_ver >= 41 && packet_ver <=72 (battle_config.packet_ver_flag2 & 1<<(packet_ver-41)) == 0) )
{// packet version rejected
ShowInfo("Rejected connection attempt, forbidden packet version (AID/CID: '"CL_WHITE"%d/%d"CL_RESET"', Packet Ver: '"CL_WHITE"%d"CL_RESET"', IP: '"CL_WHITE"%s"CL_RESET"').\n", account_id, char_id, packet_ver, ip2str(session[fd]->client_addr, NULL));
WFIFOHEAD(fd,packet_len(0x6a));
Index: src/map/battle.c
===================================================================
--- src/map/battle.c (revision 17361)
+++ src/map/battle.c (working copy)
@@ -5812,7 +5812,8 @@
{ "night_at_start", &battle_config.night_at_start, 0, 0, 1, },
{ "show_mob_info", &battle_config.show_mob_info, 0, 0, 1|2|4, },
{ "ban_hack_trade", &battle_config.ban_hack_trade, 0, 0, INT_MAX, },
- { "packet_ver_flag", &battle_config.packet_ver_flag, 0xFFFFFF,0x0000,INT_MAX, },
+ { "packet_ver_flag", &battle_config.packet_ver_flag, 0xFFFFFFFF,0x0000,INT_MAX, },
+ { "packet_ver_flag2", &battle_config.packet_ver_flag2, 0xFFFFFFFF,0x0000,INT_MAX, },
{ "min_hair_style", &battle_config.min_hair_style, 0, 0, INT_MAX, },
{ "max_hair_style", &battle_config.max_hair_style, 23, 0, INT_MAX, },
{ "min_hair_color", &battle_config.min_hair_color, 0, 0, INT_MAX, },
Index: src/map/battle.h
===================================================================
--- src/map/battle.h (revision 17361)
+++ src/map/battle.h (working copy)
@@ -337,6 +337,7 @@
int night_duration; // added by [Yor]
int ban_hack_trade; // added by [Yor]
int packet_ver_flag; // added by [Yor]
+ int packet_ver_flag2; // expend of packet_ver_flag
int min_hair_style; // added by [MouseJstr]
int max_hair_style; // added by [MouseJstr]