Addition of KickMissingHWID configuration.
This commit is contained in:
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -752,6 +752,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1396,7 +1397,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -680,13 +680,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -701,7 +699,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -761,6 +761,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1406,7 +1407,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -713,13 +713,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -734,7 +732,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -762,6 +762,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1419,7 +1420,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -713,13 +713,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -734,7 +732,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -749,6 +749,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1406,7 +1407,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -713,13 +713,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -734,7 +732,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -744,6 +744,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1401,7 +1402,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -711,13 +711,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -732,7 +730,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -744,6 +744,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1408,7 +1409,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -711,13 +711,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -732,7 +730,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -745,6 +745,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1430,7 +1431,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -711,13 +711,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -732,7 +730,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -750,6 +750,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1441,7 +1442,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -738,13 +738,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -759,7 +757,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1337,7 +1338,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -696,13 +696,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -717,7 +715,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1341,7 +1342,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -696,13 +696,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -717,7 +715,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1341,7 +1342,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -698,13 +698,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -719,7 +717,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1341,7 +1342,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -698,13 +698,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -719,7 +717,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1346,7 +1347,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -698,13 +698,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -719,7 +717,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -755,6 +755,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1354,7 +1355,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -718,13 +718,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -739,7 +737,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,15 @@ RestartOnDeadlock = False
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if hardware information is sent upon login.
|
# Check if hardware information is sent upon login.
|
||||||
# Players without hardware information are kicked from the game.
|
|
||||||
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
# WARNING: To receive hardware information from client, l2.ini NetSendHardWare must be set to true.
|
||||||
# Default: False
|
# Default: False
|
||||||
EnableHardwareInfo = False
|
EnableHardwareInfo = False
|
||||||
|
|
||||||
|
# Players without hardware information are kicked from the game.
|
||||||
|
# Automatically set to True when MaxPlayersPerHWID > 0.
|
||||||
|
# Default: False
|
||||||
|
KickMissingHWID = False
|
||||||
|
|
||||||
# Maximum number of players per HWID allowed to enter game.
|
# Maximum number of players per HWID allowed to enter game.
|
||||||
# Default: 0 (unlimited)
|
# Default: 0 (unlimited)
|
||||||
MaxPlayersPerHWID = 0
|
MaxPlayersPerHWID = 0
|
||||||
|
|||||||
@@ -760,6 +760,7 @@ public class Config
|
|||||||
public static int BACKUP_DAYS;
|
public static int BACKUP_DAYS;
|
||||||
public static int MAXIMUM_ONLINE_USERS;
|
public static int MAXIMUM_ONLINE_USERS;
|
||||||
public static boolean HARDWARE_INFO_ENABLED;
|
public static boolean HARDWARE_INFO_ENABLED;
|
||||||
|
public static boolean KICK_MISSING_HWID;
|
||||||
public static int MAX_PLAYERS_PER_HWID;
|
public static int MAX_PLAYERS_PER_HWID;
|
||||||
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
public static Pattern CHARNAME_TEMPLATE_PATTERN;
|
||||||
public static String PET_NAME_TEMPLATE;
|
public static String PET_NAME_TEMPLATE;
|
||||||
@@ -1355,7 +1356,12 @@ public class Config
|
|||||||
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
MAX_CHARACTERS_NUMBER_PER_ACCOUNT = serverSettings.getInt("CharMaxNumber", 7);
|
||||||
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
MAXIMUM_ONLINE_USERS = serverSettings.getInt("MaximumOnlineUsers", 100);
|
||||||
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
HARDWARE_INFO_ENABLED = serverSettings.getBoolean("EnableHardwareInfo", false);
|
||||||
|
KICK_MISSING_HWID = serverSettings.getBoolean("KickMissingHWID", false);
|
||||||
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
MAX_PLAYERS_PER_HWID = serverSettings.getInt("MaxPlayersPerHWID", 0);
|
||||||
|
if (MAX_PLAYERS_PER_HWID > 0)
|
||||||
|
{
|
||||||
|
KICK_MISSING_HWID = true;
|
||||||
|
}
|
||||||
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
final String[] protocols = serverSettings.getString("AllowedProtocolRevisions", "603;606;607").split(";");
|
||||||
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
PROTOCOL_LIST = new ArrayList<>(protocols.length);
|
||||||
for (String protocol : protocols)
|
for (String protocol : protocols)
|
||||||
|
|||||||
+2
-5
@@ -696,13 +696,11 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check max players.
|
// Check max players.
|
||||||
if (Config.MAX_PLAYERS_PER_HWID > 0)
|
if (Config.KICK_MISSING_HWID && (hwInfo == null))
|
||||||
{
|
|
||||||
if (hwInfo == null)
|
|
||||||
{
|
{
|
||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
else
|
else if (Config.MAX_PLAYERS_PER_HWID > 0)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (PlayerInstance plr : World.getInstance().getPlayers())
|
for (PlayerInstance plr : World.getInstance().getPlayers())
|
||||||
@@ -717,7 +715,6 @@ public class EnterWorld implements IClientIncomingPacket
|
|||||||
Disconnection.of(client).defaultSequence(false);
|
Disconnection.of(client).defaultSequence(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user