mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-31 01:44:22 +07:00
Fixed Steam kicking
This commit is contained in:
parent
fdfb79477b
commit
b3c26fac05
@ -326,7 +326,7 @@ project(":core"){
|
||||
|
||||
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
|
||||
compileOnly project(":annotations")
|
||||
kapt project(":annotations")
|
||||
if(!project.hasProperty("noKapt")) kapt project(":annotations")
|
||||
}
|
||||
|
||||
afterEvaluate{
|
||||
|
@ -1,6 +1,5 @@
|
||||
package mindustry.net;
|
||||
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.units.*;
|
||||
@ -82,17 +81,16 @@ public abstract class NetConnection{
|
||||
Call.kick(this, reason);
|
||||
}
|
||||
|
||||
if(uuid.startsWith("steam:")){
|
||||
//run with a 2-frame delay so there is time to send the kick packet, steam handles this weirdly
|
||||
Core.app.post(() -> Core.app.post(this::close));
|
||||
}else{
|
||||
close();
|
||||
}
|
||||
kickDisconnect();
|
||||
|
||||
netServer.admins.save();
|
||||
kicked = true;
|
||||
}
|
||||
|
||||
protected void kickDisconnect(){
|
||||
close();
|
||||
}
|
||||
|
||||
public boolean isConnected(){
|
||||
return true;
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ public class SNet implements SteamNetworkingCallback, SteamMatchmakingCallback,
|
||||
//check version
|
||||
if(version != Version.build){
|
||||
ui.loadfrag.hide();
|
||||
ui.showInfo("[scarlet]" + (version > Version.build ? KickReason.clientOutdated : KickReason.serverOutdated).toString() + "\n[]" +
|
||||
ui.showInfo("[scarlet]" + (version > Version.build ? KickReason.clientOutdated : KickReason.serverOutdated) + "\n[]" +
|
||||
Core.bundle.format("server.versions", Version.build, version));
|
||||
smat.leaveLobby(steamIDLobby);
|
||||
return;
|
||||
@ -437,6 +437,12 @@ public class SNet implements SteamNetworkingCallback, SteamMatchmakingCallback,
|
||||
return true;//state.isConnectionActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void kickDisconnect(){
|
||||
//delay the close so the kick packet can be sent on steam
|
||||
Core.app.post(() -> Core.app.post(this::close));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close(){
|
||||
disconnectSteamUser(sid);
|
||||
|
Loading…
Reference in New Issue
Block a user