fix subnet ban and vpn detection persistence
This commit is contained in:
parent
5e12bf60b5
commit
0175425708
@ -1,5 +1,6 @@
|
||||
const cidrRegex = /^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$/;
|
||||
const validCIDR = input => cidrRegex.test(input);
|
||||
let subnetList = [];
|
||||
|
||||
const commands = [{
|
||||
name: "bansubnet",
|
||||
@ -20,8 +21,8 @@ const commands = [{
|
||||
return;
|
||||
}
|
||||
|
||||
plugin.subnetList.push(input);
|
||||
_configHandler.SetValue('SubnetBanList', plugin.subnetList);
|
||||
subnetList.push(input);
|
||||
_configHandler.SetValue('SubnetBanList', subnetList);
|
||||
|
||||
gameEvent.Origin.Tell(`Added ${input} to subnet banlist`);
|
||||
}
|
||||
@ -73,7 +74,7 @@ const plugin = {
|
||||
|
||||
onEventAsync: (gameEvent, server) => {
|
||||
if (gameEvent.TypeName === 'Join') {
|
||||
if (!isSubnetBanned(gameEvent.Origin.IPAddressString, this.subnetList, this.logger)) {
|
||||
if (!isSubnetBanned(gameEvent.Origin.IPAddressString, subnetList, this.logger)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -91,7 +92,7 @@ const plugin = {
|
||||
if (list !== undefined) {
|
||||
list.forEach(element => {
|
||||
const ban = String(element);
|
||||
this.subnetList.push(ban)
|
||||
subnetList.push(ban)
|
||||
});
|
||||
this.logger.WriteInfo(`Loaded ${list.length} banned subnets`);
|
||||
} else {
|
||||
|
@ -1,3 +1,4 @@
|
||||
let vpnExceptionIds = [];
|
||||
const commands = [{
|
||||
name: "whitelistvpn",
|
||||
description: "whitelists a player's client id from VPN detection",
|
||||
@ -9,8 +10,8 @@ const commands = [{
|
||||
required: true
|
||||
}],
|
||||
execute: (gameEvent) => {
|
||||
plugin.vpnExceptionIds.push(gameEvent.Target.ClientId);
|
||||
plugin.configHandler.SetValue('vpnExceptionIds', plugin.vpnExceptionIds);
|
||||
vpnExceptionIds.push(gameEvent.Target.ClientId);
|
||||
plugin.configHandler.SetValue('vpnExceptionIds', vpnExceptionIds);
|
||||
|
||||
gameEvent.Origin.Tell(`Successfully whitelisted ${gameEvent.Target.Name}`);
|
||||
}
|
||||
@ -22,12 +23,12 @@ const plugin = {
|
||||
name: 'VPN Detection Plugin',
|
||||
manager: null,
|
||||
logger: null,
|
||||
vpnExceptionIds: [],
|
||||
|
||||
|
||||
checkForVpn: function (origin) {
|
||||
let exempt = false;
|
||||
// prevent players that are exempt from being kicked
|
||||
this.vpnExceptionIds.forEach(function (id) {
|
||||
vpnExceptionIds.forEach(function (id) {
|
||||
if (id === origin.ClientId) {
|
||||
exempt = true;
|
||||
return false;
|
||||
@ -79,8 +80,8 @@ const plugin = {
|
||||
this.logger = manager.GetLogger(0);
|
||||
|
||||
this.configHandler = _configHandler;
|
||||
this.configHandler.GetValue('vpnExceptionIds').forEach(element => this.vpnExceptionIds.push(element));
|
||||
this.logger.WriteInfo(`Loaded ${this.vpnExceptionIds.length} ids into whitelist`);
|
||||
this.configHandler.GetValue('vpnExceptionIds').forEach(element => vpnExceptionIds.push(element));
|
||||
this.logger.WriteInfo(`Loaded ${vpnExceptionIds.length} ids into whitelist`);
|
||||
},
|
||||
|
||||
onUnloadAsync: function () {
|
||||
|
Loading…
Reference in New Issue
Block a user