Implemented standalone server, fixed breaking bugs
This commit is contained in:
@@ -79,7 +79,7 @@ public class KryoClient implements ClientProvider{
|
||||
Net.handleClientReceived(object);
|
||||
}catch (Exception e){
|
||||
if(e instanceof KryoNetException && e.getMessage() != null && e.getMessage().toLowerCase().contains("incorrect")) {
|
||||
ui.showError("$text.server.mismatch");
|
||||
Net.showError("$text.server.mismatch");
|
||||
netClient.disconnectQuietly();
|
||||
}else{
|
||||
throw new RuntimeException(e);
|
||||
@@ -207,7 +207,7 @@ public class KryoClient implements ClientProvider{
|
||||
private void handleException(Exception e){
|
||||
e.printStackTrace();
|
||||
if(e instanceof KryoNetException){
|
||||
Gdx.app.postRunnable(() -> ui.showError("$text.server.mismatch"));
|
||||
Gdx.app.postRunnable(() -> Net.showError("$text.server.mismatch"));
|
||||
}else{
|
||||
//TODO better exception handling.
|
||||
disconnect();
|
||||
|
||||
@@ -18,9 +18,11 @@ public class KryoRegistrator {
|
||||
}
|
||||
|
||||
public static ByteBuffer writeServerData(){
|
||||
ByteBuffer buffer = ByteBuffer.allocate(1 + Vars.player.name.length() + 4);
|
||||
buffer.put((byte)Vars.player.name.length());
|
||||
buffer.put(Vars.player.name.getBytes());
|
||||
String host = Vars.headless ? "Server" : Vars.player.name;
|
||||
|
||||
ByteBuffer buffer = ByteBuffer.allocate(1 + host.getBytes().length + 4);
|
||||
buffer.put((byte)host.getBytes().length);
|
||||
buffer.put(host.getBytes());
|
||||
buffer.putInt(Net.getConnections().size + 1);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
@@ -35,8 +35,6 @@ import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
|
||||
public class KryoServer implements ServerProvider {
|
||||
final boolean debug = false;
|
||||
final Server server;
|
||||
@@ -434,10 +432,10 @@ public class KryoServer implements ServerProvider {
|
||||
ex.printStackTrace();
|
||||
if(ex instanceof BindException){
|
||||
Net.closeServer();
|
||||
ui.showError("$text.server.addressinuse");
|
||||
Net.showError("$text.server.addressinuse");
|
||||
}else if(ex.getMessage().equals("Permission denied")){
|
||||
Net.closeServer();
|
||||
ui.showError("Permission denied.");
|
||||
Net.showError("Permission denied.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user