Flexible port
This commit is contained in:
@@ -14,20 +14,25 @@ public class Host{
|
|||||||
public final String versionType;
|
public final String versionType;
|
||||||
public final Gamemode mode;
|
public final Gamemode mode;
|
||||||
public final @Nullable String modeName;
|
public final @Nullable String modeName;
|
||||||
public int ping, port = Vars.port;
|
public int ping, port;
|
||||||
|
|
||||||
public Host(int ping, String name, String address, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){
|
public Host(int ping, String name, String address, int port, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){
|
||||||
this.ping = ping;
|
this.ping = ping;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.address = address;
|
this.address = address;
|
||||||
this.players = players;
|
this.port = port;
|
||||||
this.mapname = mapname;
|
this.mapname = mapname;
|
||||||
this.wave = wave;
|
this.wave = wave;
|
||||||
|
this.players = players;
|
||||||
this.version = version;
|
this.version = version;
|
||||||
this.versionType = versionType;
|
this.versionType = versionType;
|
||||||
this.playerLimit = playerLimit;
|
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
|
this.playerLimit = playerLimit;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.modeName = modeName;
|
this.modeName = modeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Host(int ping, String name, String address, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){
|
||||||
|
this(ping, name, address, Vars.port, mapname, wave, players, version, versionType, mode, playerLimit, description, modeName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package mindustry.net;
|
|||||||
import arc.Core;
|
import arc.Core;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
|
import mindustry.*;
|
||||||
import mindustry.core.*;
|
import mindustry.core.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
@@ -80,6 +81,7 @@ public class NetworkIO{
|
|||||||
|
|
||||||
buffer.put((byte)state.rules.mode().ordinal());
|
buffer.put((byte)state.rules.mode().ordinal());
|
||||||
buffer.putInt(netServer.admins.getPlayerLimit());
|
buffer.putInt(netServer.admins.getPlayerLimit());
|
||||||
|
buffer.putInt(Core.settings.getInt("port", port));
|
||||||
|
|
||||||
writeString(buffer, description, 100);
|
writeString(buffer, description, 100);
|
||||||
if(state.rules.modeName != null){
|
if(state.rules.modeName != null){
|
||||||
@@ -99,8 +101,10 @@ public class NetworkIO{
|
|||||||
int limit = buffer.getInt();
|
int limit = buffer.getInt();
|
||||||
String description = readString(buffer);
|
String description = readString(buffer);
|
||||||
String modeName = readString(buffer);
|
String modeName = readString(buffer);
|
||||||
|
int hostPort = buffer.getInt();
|
||||||
|
hostPort = hostPort != 0 ? hostPort : Vars.port;
|
||||||
|
|
||||||
return new Host(ping, host, hostAddress, map, wave, players, version, vertype, gamemode, limit, description, modeName.isEmpty() ? null : modeName);
|
return new Host(ping, host, hostAddress, hostPort, map, wave, players, version, vertype, gamemode, limit, description, modeName.isEmpty() ? null : modeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void writeString(ByteBuffer buffer, String string, int maxlen){
|
private static void writeString(ByteBuffer buffer, String string, int maxlen){
|
||||||
|
|||||||
@@ -487,4 +487,4 @@ public class JoinDialog extends BaseDialog{
|
|||||||
public Server(){
|
public Server(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user