Author Topic: How to vote-kick works ?!  (Read 4019 times)

0 Members and 1 Guest are viewing this topic.

Offline Szaman

  • Soldier
  • **
  • Posts: 145
How to vote-kick works ?!
« on: December 14, 2013, 12:38:52 pm »
Hi all,

I have a question about vote-kicking. In the server logs I can see:

13-12-12 21:09:45 Creative007 started votekick against LEO KASPER - Reason: wfdwewef
13-12-12 21:09:51 LEO KASPER has been kicked and banned for 60 minutes (Vote Kicked)
(...)
13-12-12 21:22:46 Creative007 started votekick against Pute - Reason: fefw
13-12-12 21:22:49 Pute has been kicked and banned for 5 minutes (Vote Kicked (Left game))
(...)
13-12-13 11:03:24 .:Ma9NuM:. joining game (84.205.190.134:64900) HWID:2D635128F0C
13-12-13 11:03:28 kOSMICZNY KUTAS started votekick against .:Ma9NuM:. - Reason:R^C <FC>^X
13-12-13 11:03:29 .:Ma9NuM:. has been kicked and permanently banned (Vote Kicked by Server)

My question is - why there is sometimes 5 minutes ban, sometimes 60 min and sometimes there is permanent ban? Why there is such possibility to get permanent ban after vote-kicking ?!

Thank you in advance for the explanation :)

Best regards,
Szaman.

Offline Szaman

  • Soldier
  • **
  • Posts: 145
Re: How to vote-kick works ?!
« Reply #1 on: December 14, 2013, 02:06:56 pm »
In this case the vote-kick was started just after the player joined the game, so there is no possibility of "hacking attempts" (flood, caps, etc.).
I think this time it was this "random characters" bug.

It must be fixed, cause it's unacceptable that normal vote-kick would permban a player ://

---
edit: reported to bug-tracker.
« Last Edit: December 14, 2013, 02:11:20 pm by Szaman »

Offline SpiltCoffee

  • Veteran
  • *****
  • Posts: 1579
  • Spilt, not Split!
    • SpiltCoffee's Site
Re: How to vote-kick works ?!
« Reply #2 on: December 15, 2013, 07:38:29 am »
Akinaro, could you please PM me some example characters that have caused the server to vote-kick the player when a player initiates a vote-kick against said player with the characters?
When life hands you High Fructose Corn Syrup, Citric Acid, Ascorbic Acid, Maltodextrin, Sodium Acid Pyrophosphate,
Magnesium Oxide, Calcium Fumarate, Yellow 5, Tocopherol and Less Than 2% Natural Flavour... make Lemonade!

Offline SpiltCoffee

  • Veteran
  • *****
  • Posts: 1579
  • Spilt, not Split!
    • SpiltCoffee's Site
Re: How to vote-kick works ?!
« Reply #3 on: December 15, 2013, 09:30:11 am »
Cheers Akinaro.

It appears that the characters themselves are a symptom rather than a cause. The server itself is launching the vote kick against the player, but that does not appear in the server log currently. In addition to that, when the server decides to vote kick someone, it doesn't do it correctly, and therefore the first player to press F12 incorrectly appears as the player to have launched the vote kick.

I have updated the Mantis ticket.
When life hands you High Fructose Corn Syrup, Citric Acid, Ascorbic Acid, Maltodextrin, Sodium Acid Pyrophosphate,
Magnesium Oxide, Calcium Fumarate, Yellow 5, Tocopherol and Less Than 2% Natural Flavour... make Lemonade!

Offline Hubiq

  • Soldier
  • **
  • Posts: 119
Re: How to vote-kick works ?!
« Reply #4 on: June 22, 2014, 04:06:25 am »
I have a similar problem... How to change it?

Offline kicikici

  • Soldier
  • **
  • Posts: 180
Re: How to vote-kick works ?!
« Reply #5 on: June 22, 2014, 04:46:28 am »
It's not possible. I propose make script which automatically unban people votekicked by server.
Classic banana

Offline kicikici

  • Soldier
  • **
  • Posts: 180
Re: How to vote-kick works ?!
« Reply #6 on: June 25, 2014, 02:02:04 am »
Here is a simple script which automatically unban people with "Vote Kicked by Server" reason (once a day). /serverunban will unban people on admin demand.

Code: [Select]
var
UnBanInProgress: boolean;

Type tBanRow = Record
BannedIPOrHWID, BanReason: string;
end;

//THX for DorkeyDear & CurryWurst
function Explode(Source: string; const Delimiter: string): array of string;
var
Position, DelLength, ResLength: integer;
begin
DelLength := Length(Delimiter);
Source := Source + Delimiter;
repeat
Position := Pos(Delimiter, Source);
SetArrayLength(Result, ResLength + 1);
Result[ResLength] := Copy(Source, 1, Position - 1);
ResLength := ResLength + 1;
Delete(Source, 1, Position + DelLength - 1);
until (Position = 0);
SetArrayLength(Result, ResLength - 1);
end;

function CheckReadFromFile(name: string): string;
begin
Result:='';
if FileExists(name) then begin
Result:=ReadFile(name);
Result:=Copy(Result, 0, Length(Result)-2);
end;
end;

procedure UnBan(FileName: string);
var
i, ABanRowsLength: integer;
AInput: array of string;
BanRows: array of tBanRow;
begin
if CheckReadFromFile(FileName)<>'' then begin
AInput:=Explode(CheckReadFromFile(FileName), chr(13)+chr(10));
SetArrayLength(BanRows, 0);
for i:=0 to GetArrayLength(AInput)-1 do begin
ABanRowsLength:=GetArrayLength(BanRows);
SetArrayLength(BanRows, ABanRowsLength+1);
BanRows[i].BannedIPOrHWID:=GetPiece(AInput[i], ':', 0);
BanRows[i].BanReason:=GetPiece(AInput[i], ':', 2);
end;
for i:=0 to GetArrayLength(BanRows)-1 do begin
if BanRows[i].BanReason='Vote Kicked by Server' then begin
Command(iif(FileName='banned.txt', '/unban ', '/unbanhw ')+BanRows[i].BannedIPOrHWID);
end;
end;
WriteLn('<'+ScriptName+'> Procedure unban for '+FileName+' done.');
end else begin
WriteLn('<'+ScriptName+'> Nothing to do with '+FileName);
end;
end;

function UnBanTime(): boolean;
begin
Result:=iif((FormatDate('h am/pm')='1 am'), TRUE, FALSE);
end;

procedure AppOnIdle(Ticks: integer);
begin
if Ticks mod (60*60*60) = 0 then begin
if UnBanTime() then UnBanInProgress:=TRUE;
end;
if UnBanInProgress then begin
if Ticks mod (60*60*5) = 0 then begin
if NumPlayers=0 then begin
UnBan('banned.txt');
UnBan('bannedhw.txt');
UnBanInProgress:=FALSE;
end;
end;
end;
end;

function OnCommand(ID: byte; Text: string): boolean;
begin
if Text='/serverunban' then begin
UnBan('banned.txt');
UnBan('bannedhw.txt');
end;
Result:=FALSE;
end;
Classic banana

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: How to vote-kick works ?!
« Reply #7 on: June 25, 2014, 02:19:39 am »
Quote
My question is - why there is sometimes 5 minutes ban, sometimes 60 min and sometimes there is permanent ban? Why there is such possibility to get permanent ban after vote-kicking ?!

60 mins = votekick started by a player against a player
5 mins = votekick player against a player and voted player leaves before voting ends
perm ban = votekick is started by the server itself(players usually trust server and automatically press f12)

Im chill like that