Fixed multiplayer

This commit is contained in:
Anuken
2020-05-22 11:06:56 -04:00
parent 598c7235b4
commit 795bd84d06
2 changed files with 12 additions and 6 deletions

View File

@ -431,7 +431,7 @@ public class Administration{
public void save(){
Core.settings.putJson("player-data", playerInfo);
Core.settings.putJson("ip-bans", String.class, bannedIPs);
Core.settings.putJson("whitelist", String.class, whitelist);
Core.settings.putJson("whitelist-ids", String.class, whitelist);
Core.settings.putJson("banned-subnets", String.class, subnetBans);
}
@ -441,7 +441,7 @@ public class Administration{
//load default data
playerInfo = Core.settings.getJson("player-data", ObjectMap.class, ObjectMap::new);
bannedIPs = Core.settings.getJson("ip-bans", Array.class, Array::new);
whitelist = Core.settings.getJson("whitelist", Array.class, Array::new);
whitelist = Core.settings.getJson("whitelist-ids", Array.class, Array::new);
subnetBans = Core.settings.getJson("banned-subnets", Array.class, Array::new);
}else{
//save over loaded legacy data

View File

@ -9,6 +9,7 @@ import mindustry.io.*;
import java.io.*;
import java.nio.*;
import java.util.zip.*;
/**
* Class for storing all packets.
@ -169,9 +170,14 @@ public class Packets{
TypeIO.writeString(buffer, versionType);
TypeIO.writeString(buffer, name);
TypeIO.writeString(buffer, usid);
buffer.put(mobile ? (byte)1 : 0);
buffer.put(Base64Coder.decode(uuid));
buffer.put((byte)color);
CRC32 crc = new CRC32();
crc.update(Base64Coder.decode(uuid));
buffer.putLong(crc.getValue());
buffer.put(mobile ? (byte)1 : 0);
buffer.putInt(color);
buffer.put((byte)mods.size);
for(int i = 0; i < mods.size; i++){
TypeIO.writeString(buffer, mods.get(i));
@ -184,11 +190,11 @@ public class Packets{
versionType = TypeIO.readString(buffer);
name = TypeIO.readString(buffer);
usid = TypeIO.readString(buffer);
mobile = buffer.get() == 1;
color = buffer.getInt();
byte[] idbytes = new byte[16];
buffer.get(idbytes);
uuid = new String(Base64Coder.encode(idbytes));
mobile = buffer.get() == 1;
color = buffer.getInt();
int totalMods = buffer.get();
mods = new Array<>(totalMods);
for(int i = 0; i < totalMods; i++){