Fixed server IO errors / Fixed kick IP tracing
This commit is contained in:
@@ -4,7 +4,6 @@ import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.net.Administration.*;
|
||||
import mindustry.net.Packets.*;
|
||||
|
||||
import java.io.*;
|
||||
@@ -37,38 +36,39 @@ public abstract class NetConnection{
|
||||
|
||||
/** Kick with a special, localized reason. Use this if possible. */
|
||||
public void kick(KickReason reason){
|
||||
if(kicked) return;
|
||||
kick(reason, (reason == KickReason.kick || reason == KickReason.banned || reason == KickReason.vote) ? 30 * 1000 : 0);
|
||||
}
|
||||
|
||||
Log.info("Kicking connection @ / @; Reason: @", address, uuid, reason.name());
|
||||
|
||||
if((reason == KickReason.kick || reason == KickReason.banned || reason == KickReason.vote)){
|
||||
PlayerInfo info = netServer.admins.getInfo(uuid);
|
||||
info.timesKicked++;
|
||||
info.lastKicked = Math.max(Time.millis() + 30 * 1000, info.lastKicked);
|
||||
}
|
||||
|
||||
Call.kick(this, reason);
|
||||
|
||||
close();
|
||||
|
||||
netServer.admins.save();
|
||||
kicked = true;
|
||||
/** Kick with a special, localized reason. Use this if possible. */
|
||||
public void kick(KickReason reason, long kickDuration){
|
||||
kick(null, reason, kickDuration);
|
||||
}
|
||||
|
||||
/** Kick with an arbitrary reason. */
|
||||
public void kick(String reason){
|
||||
kick(reason, 30 * 1000);
|
||||
kick(reason, null, 30 * 1000);
|
||||
}
|
||||
|
||||
/** Kick with an arbitrary reason. */
|
||||
public void kick(String reason, long duration){
|
||||
kick(reason, null, duration);
|
||||
}
|
||||
|
||||
/** Kick with an arbitrary reason, and a kick duration in milliseconds. */
|
||||
public void kick(String reason, long kickDuration){
|
||||
private void kick(String reason, KickReason kickType, long kickDuration){
|
||||
if(kicked) return;
|
||||
|
||||
Log.info("Kicking connection @ / @; Reason: @", address, uuid, reason.replace("\n", " "));
|
||||
Log.info("Kicking connection @ / @; Reason: @", address, uuid, reason == null ? kickType.name() : reason.replace("\n", " "));
|
||||
|
||||
netServer.admins.handleKicked(uuid, address, kickDuration);
|
||||
if(kickDuration > 0){
|
||||
netServer.admins.handleKicked(uuid, address, kickDuration);
|
||||
}
|
||||
|
||||
Call.kick(this, reason);
|
||||
if(reason == null){
|
||||
Call.kick(this, kickType);
|
||||
}else{
|
||||
Call.kick(this, reason);
|
||||
}
|
||||
|
||||
close();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user