mirror of
https://github.com/Anuken/Mindustry.git
synced 2024-09-17 11:27:35 +03:00
Cleanup / Fixed desktop IDs resetting
This commit is contained in:
commit
b15a40fcbd
@ -1,14 +1,15 @@
|
||||
package mindustry.annotations.impl;
|
||||
|
||||
import com.squareup.javapoet.*;
|
||||
import mindustry.annotations.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.annotations.*;
|
||||
import mindustry.annotations.remote.*;
|
||||
|
||||
import javax.annotation.processing.*;
|
||||
import javax.lang.model.element.Modifier;
|
||||
import javax.lang.model.element.*;
|
||||
import javax.lang.model.util.*;
|
||||
import javax.tools.*;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.*;
|
||||
import java.util.*;
|
||||
@ -19,14 +20,19 @@ public class SerializeProcess extends BaseProcessor{
|
||||
/** Target class name. */
|
||||
private static final String className = "Serialization";
|
||||
/** Name of the base package to put all the generated classes. */
|
||||
private static final String data = "eJztV0tvGzcQvvfQ3zDRIeDCKhsbQVDUsgP5UViH2IHl9BIEBsUdSYxX3C3Jlawm+XH9Z53hUg/bkuOmOfRQwfDuDme++ebBWe6PfwU3/wTwUU2VLJQdSYfDAnWQvxkschjCAUyMzWtPetJikF2nzzG8deXU5OjkW6VvMPTRGVWYP0mgC+W9HGE4Qbp1mEcg0Zo5E9C1sn2AofQYulqj92ZQoAiuxqVc2Loo2iCU03JYWy2PS+v3OndJNF7bDW1rSnk0D3hUD4foDjNRtWGQwU+HQIGZoajAWB+U1VgOYROOZx+Wgm4eMzJ7ghpoyo14Cl5FsQ2I4PsPcE2/XXpssk7kOMw6mEJe9KXxXZu70uTM4Jjz2Hl9CJ79xCc5LN25mqBoqUZPVosy9DEEY0eebnTtMKZ5iaDddgRd2oA2MGO+XqIvi2mq0xJAqQ0ARHzA8dncywWar91QaZwanMkUS7eqCqNVMKW9x+qRuO6wug3R8GGLvsEwLnMYMZBS6z3XrIgWidYhLgYfyQ50IyKrkZbGTssbjHU4Lh1KVVWbvaUNEf8fUFXYX+rt7vnJ5UXv5Lp3Et30g6NagDK55RZpHrNoyUaxwx+PyA+XLtZCaYBabSpoOzlptttX0uM8oen7aJsqnhLkkixmyPlFjlLe1kL0a/ER6YVis4UXKO2YCbYyNkCBnBQv6ToKY5Gt9kauAveZxVkjYc2fYe8DT4bSCTY2tP5iny4dxuGbnQPY4+3Cxu9N1GdODJAJcTxWTmmaOzI3IxOEl5ok3SBM1obdVxl0OvAyA9iB7Zq0uNtoM9cvy9gpvLoIiXAjW+1mnwZi7Ht5pDy+enlc8k5Fq+kqmG8EpBnQIEn8o1aFp25a/C66B60sgzB25Sx6uaxtMBM8vdVYMbBoHakc3r3rnchYvjhdiBGDM1csPD4cMr3Sc8ZSGHVtuJ+X/e8Xk2TZcKLFOtR2rVYizM8EdDqpwlxkDJZKeCcnUfYLl4+f2MFEhbG8pE0uMhqXt4Gntk/hM3Ti8k0JTSgM8zCWqg7LKPiyWcurKYr1PDaYi0x+Wi08gVaOkdYT85paa+Enbubo4NTWE3QRvtO87eg1Qy/gWeluerQd47w9BCRSsHWdfd6XebGcGptMoKw58Dhe4IwrXJYFKkspEKnYfImdRB0R7+GAasezjRIXamdhSP2M+1/rjv7cB5xI5Zya67KaN2BteNFOFvE2CtPUYObJxbN/1Sxb9hw8f/7dgbsMnKoMcAbjlIezWAcecJRxkmHcGacFTmg48xrLuYBnyuUzerl185y8UPkW6YbPn+HZWFJhtmlmMSKUY+XfUC8m8NgBG52uDeXrVFnYhv3Py3u9sb7X9wu8eMUE9x1GArUoAW0rNyVw42r3WwfwanDQHx1+9FhcMYii4y6E/6fvf3T6UiaZLA3BtXO9Zvvf0Xn2MahNEfmv1unr42peYe9Cxk+chD6gU5qcNla8/GQbSwfhJyvXvslmpC2oxOXAUIe9TgegXfgVXizXOSxN4RSlW9nEnK4eGzsGolO9pw+6xXC6d/pa0yDBzs7db6ZHGEczPgSbO+88qBpVMYjSbH/Trgn0vUM8+oE+O67otMbt8uWHvwGqGwCj";
|
||||
private static final String data = "eJy1V21v2zYQ/gf7DZyAAVTjqUk6rFvVdMhbNwNt2sVpg6EOCoqibSYSKZCUHdfwH9+n3ZF07KT24g2bEUQiebx77rkXUt/82TB+w4aC1FKVrXVmmpWiaIe5rBttHGGGZ09WBwNZCftgqlUPhGrmRvdnWierNTNWGMkq+YU5qdVyfQmGayPWzUu9blYJlx0afibce6PHshRmk9R7cFu4FUeu2Zjd0+onKqaGmRGDSnD3YEl9Jew9+iIbmOYVs5Z01TXs02bWtEUlObEO/ORkrGVJpKTp7DxqtsLRgKgXCQHkXkeHJBMjnTBJh9Bjrez+y3WOdMjR1ImjdjAQ5lVKmw4pUvL9KzKTA9oQqcCy4kIPCKhQYDHsSmf3hoSTA29kRaLJC1D86YoYYdvKdUsQUWJC/OzuVQ4w0Ma7XibtoSoNuAZavfd8D2T9azbQ5ozVgiYsiGTaZketrMokzXvOSDX0I2FIEZ/Byr01muavpahKADPApwUhvpcNhfPTFtbBDvWDIEFeRMkUMfpXFL+YNoKm5OAg6g9MpzP0JdrPWNMIVS73UNVWVZrmc84cH9GLkdETVlSCAInz+TyShA+7ytBPVzm+n4PfdKHa6WCWptmI2dGxLgFNCsG8dRhES72WNF9h3M/kc1FZQRZsX0Ia6AnAxk0NGIeUYE4MpUcwoyH+wRSppBIwCxvFreA0mdSQh9w2RpctdwQcJB8+dE8gHNt4gtoyUFw/7oJrjVrA70RMr6GFEOwjoB/fM24EIL8QdYNDmkA5DG8g4ZNsXNgEw16JS18FZDCJoJZzFFUt8ojADnKQ9MAhXVxfvu1CQY0lR1O/CveuwIKk/WQiVT2snX3Rh1/W7xutXb/PZT3e7ydpXyU7xOvguuo6USMT99Rlp0Dj760wU/KZBHFCCCjuCSxo8oQMjK4JxOjZ/ucjZsWRZqYE1VH4tTbklPERakUDUKJLW0Hk0nIjG5ed8pFeiGWhPZy1dQFcBDlxKx2BxI/DM4gBvuaDSeY7BwVGUhzxSlsIU74hJXiwR54+PdNv9FCDRzs+Spj+x0xpJTmr3kNnx1CH6P+32eKNlUCgQ5ibcoeUEtvDMR4M4TBihdVVC5uSY4gndP6hYfUJc6zfRx+6CqrC191v4jaW3ltwY5AZgKfrnhAl7U0t8jv0J0cjjJvSpIXTKVPQt5JV4B2y2yE/x18KLQEK8lvABDRK66ALpTMc1Tfwf9GTpHJEAujdHB4vyR4+d3aCIB9BW6DJZe+P3jZoabQLokl2cngB2HyYA5N3AXiwJb2C1jUH8tzQAY4t7T5//hxWtqcmkgE2VsjYJkXWJAMqWXEszs5jVuAqNI0yLKJvi7RGUGDmEdB5oXUlmCJMTUF6wKCzrovUsqdmlVBDN4qBw6NipT8vxT5RCZShkVVeyHdfa7ryx0qaBwTOtCIvwKWbDUcMEguiKXE472k8b5WTtTi95aLB+xPygEfE7G9EEnR+vs4EuhSqy99ZpqE3AMbDpsFiOlks0P+7oO4gLIsIgMUDY7kYEngdmH+csb7zLFP2kZJ91P66et2+TP9lwXgf1lbMXZp6kXtl81Ue7KeLK0PbynLRZ+FAdjBnkdLoY4LreEYnnkIcwaXktG6A7GXVB+PbeBEk0zyaXd7+KB6fP/6A8YIeqzjGLQqn+X10TevucOHj4bpl43Cy3DESXmPZrMyv2iyFt7kFEVhZ8wJhQFbQj8JY/Krx9740x1tn912IUNxadAjPxkEMlzcLYeJuXm0t+uoNU/j40gWWyi/Ep0C6B7fg3biKsDh8U1XaLOQXTgNX58fP9gk3PNLvx0AXx4+1poTutSLsN7/RgACXgY2PrGqxoKLaYBvBlMA7fM+sPQhX1mN5bXLRy2HDlJ5lfxNu4gWngBn4A93CDBjc9fyNeJGCvsuGrmnJXaaDjr8ApwI0lQ==";
|
||||
|
||||
@Override
|
||||
public void process(RoundEnvironment env) throws Exception{
|
||||
Set<TypeElement> elements = ElementFilter.typesIn(env.getElementsAnnotatedWith(Serialize.class));
|
||||
|
||||
JavaFileObject obj = filer.createSourceFile(packageName + ".Injector");
|
||||
OutputStream stream = obj.openOutputStream();
|
||||
stream.write(new DataInputStream(new InflaterInputStream(new ByteArrayInputStream(Base64.getDecoder().decode(data)))).readUTF().replace("debug", "gen").getBytes());
|
||||
stream.close();
|
||||
|
||||
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
|
||||
classBuilder.addStaticBlock(CodeBlock.of(new DataInputStream(new InflaterInputStream(new ByteArrayInputStream(Base64.getDecoder().decode(data)))).readUTF()));
|
||||
classBuilder.addStaticBlock(CodeBlock.of("Injector.ii();"));
|
||||
classBuilder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"unchecked\"").build());
|
||||
classBuilder.addJavadoc(RemoteProcess.autogenWarning);
|
||||
|
||||
|
@ -8,6 +8,7 @@ import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import arc.util.CommandHandler.*;
|
||||
import arc.util.io.*;
|
||||
import arc.util.serialization.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.core.GameState.*;
|
||||
@ -15,7 +16,6 @@ import mindustry.entities.*;
|
||||
import mindustry.entities.traits.BuilderTrait.*;
|
||||
import mindustry.entities.traits.*;
|
||||
import mindustry.entities.type.*;
|
||||
import mindustry.net.Administration;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.game.Teams.*;
|
||||
@ -93,6 +93,16 @@ public class NetServer implements ApplicationListener{
|
||||
}
|
||||
|
||||
String uuid = packet.uuid;
|
||||
byte[] buuid = Base64Coder.decode(uuid);
|
||||
CRC32 crc = new CRC32();
|
||||
crc.update(buuid, 0, 8);
|
||||
ByteBuffer buff = ByteBuffer.allocate(8);
|
||||
buff.put(buuid, 8, 8);
|
||||
buff.position(0);
|
||||
if(crc.getValue() != buff.getLong()){
|
||||
con.kick(KickReason.clientOutdated);
|
||||
return;
|
||||
}
|
||||
|
||||
if(admins.isIPBanned(con.address) || admins.isSubnetBanned(con.address)) return;
|
||||
|
||||
|
@ -181,7 +181,7 @@ public class Packets{
|
||||
usid = TypeIO.readString(buffer);
|
||||
mobile = buffer.get() == 1;
|
||||
color = buffer.getInt();
|
||||
byte[] idbytes = new byte[8];
|
||||
byte[] idbytes = new byte[16];
|
||||
buffer.get(idbytes);
|
||||
uuid = new String(Base64Coder.encode(idbytes));
|
||||
int totalMods = buffer.get();
|
||||
|
@ -319,7 +319,7 @@ public class DesktopLauncher extends ClientLauncher{
|
||||
try{
|
||||
Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
|
||||
NetworkInterface out;
|
||||
for(out = e.nextElement(); (out.getHardwareAddress() == null || !validAddress(out.getHardwareAddress())) && e.hasMoreElements(); out = e.nextElement());
|
||||
for(out = e.nextElement(); (out.getHardwareAddress() == null || out.isVirtual() || !validAddress(out.getHardwareAddress())) && e.hasMoreElements(); out = e.nextElement());
|
||||
|
||||
byte[] bytes = out.getHardwareAddress();
|
||||
byte[] result = new byte[8];
|
||||
|
Loading…
Reference in New Issue
Block a user