[FIX] @LauncherNetworkAPI

This commit is contained in:
Gravit 2019-02-10 15:44:09 +07:00
parent 746fdc36e4
commit 7f062e720a
No known key found for this signature in database
GPG key ID: 061981E1E85D3216
15 changed files with 60 additions and 17 deletions

View file

@ -1,7 +1,7 @@
package ru.gravit.launchserver.socket.websocket.json.auth; package ru.gravit.launchserver.socket.websocket.json.auth;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import ru.gravit.launcher.events.request.CheckServerEvent; import ru.gravit.launcher.events.request.CheckServerRequestEvent;
import ru.gravit.launchserver.LaunchServer; import ru.gravit.launchserver.LaunchServer;
import ru.gravit.launchserver.auth.AuthException; import ru.gravit.launchserver.auth.AuthException;
import ru.gravit.launchserver.response.profile.ProfileByUUIDResponse; import ru.gravit.launchserver.response.profile.ProfileByUUIDResponse;
@ -22,7 +22,7 @@ public String getType() {
@Override @Override
public void execute(WebSocketService service, ChannelHandlerContext ctx, Client pClient) { public void execute(WebSocketService service, ChannelHandlerContext ctx, Client pClient) {
CheckServerEvent result = new CheckServerEvent(); CheckServerRequestEvent result = new CheckServerRequestEvent();
try { try {
result.uuid = LaunchServer.server.config.authHandler.checkServer(username, serverID); result.uuid = LaunchServer.server.config.authHandler.checkServer(username, serverID);
if(result.uuid != null) if(result.uuid != null)
@ -35,7 +35,7 @@ public void execute(WebSocketService service, ChannelHandlerContext ctx, Client
service.sendObject(ctx, new WebSocketService.ErrorResult("Internal authHandler error")); service.sendObject(ctx, new WebSocketService.ErrorResult("Internal authHandler error"));
return; return;
} }
service.sendObject(ctx, new CheckServerEvent()); service.sendObject(ctx, new CheckServerRequestEvent());
} }
} }

View file

@ -31,6 +31,11 @@
<methods>; <methods>;
} }
-keepclassmembers @ru.gravit.launcher.LauncherNetworkAPI class ** {
<fields>;
<methods>;
}
-keepclassmembers class ** { -keepclassmembers class ** {
@ru.gravit.launcher.LauncherAPI @ru.gravit.launcher.LauncherAPI
<fields>; <fields>;
@ -38,6 +43,13 @@
<methods>; <methods>;
} }
-keepclassmembers class ** {
@ru.gravit.launcher.LauncherNetworkAPI
<fields>;
@ru.gravit.launcher.LauncherNetworkAPI
<methods>;
}
-keepclassmembers public class ** { -keepclassmembers public class ** {
public static void main(java.lang.String[]); public static void main(java.lang.String[]);
public static void premain(java.lang.String, java.lang.instrument.Instrumentation); public static void premain(java.lang.String, java.lang.instrument.Instrumentation);

View file

@ -3,7 +3,7 @@
import ru.gravit.launcher.Launcher; import ru.gravit.launcher.Launcher;
import ru.gravit.launcher.LauncherAPI; import ru.gravit.launcher.LauncherAPI;
import ru.gravit.launcher.LauncherConfig; import ru.gravit.launcher.LauncherConfig;
import ru.gravit.launcher.events.request.CheckServerEvent; import ru.gravit.launcher.events.request.CheckServerRequestEvent;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.Request; import ru.gravit.launcher.request.Request;
import ru.gravit.launcher.request.RequestType; import ru.gravit.launcher.request.RequestType;
@ -15,7 +15,7 @@
import java.io.IOException; import java.io.IOException;
public final class CheckServerRequest extends Request<CheckServerEvent> { public final class CheckServerRequest extends Request<CheckServerRequestEvent> {
private final String username; private final String username;
private final String serverID; private final String serverID;
@ -37,7 +37,7 @@ public Integer getType() {
} }
@Override @Override
protected CheckServerEvent requestDo(HInput input, HOutput output) throws IOException { protected CheckServerRequestEvent requestDo(HInput input, HOutput output) throws IOException {
output.writeString(username, SerializeLimits.MAX_LOGIN); output.writeString(username, SerializeLimits.MAX_LOGIN);
output.writeASCII(serverID, SerializeLimits.MAX_SERVERID); // 1 char for minus sign output.writeASCII(serverID, SerializeLimits.MAX_SERVERID); // 1 char for minus sign
if (Launcher.profile == null) { if (Launcher.profile == null) {
@ -49,6 +49,6 @@ protected CheckServerEvent requestDo(HInput input, HOutput output) throws IOExce
// Read response // Read response
readError(input); readError(input);
return input.readBoolean() ? new CheckServerEvent(new PlayerProfile(input)) : null; return input.readBoolean() ? new CheckServerRequestEvent(new PlayerProfile(input)) : null;
} }
} }

View file

@ -6,13 +6,11 @@
import ru.gravit.launcher.hasher.HashedEntry; import ru.gravit.launcher.hasher.HashedEntry;
import ru.gravit.launcher.hasher.HashedEntryAdapter; import ru.gravit.launcher.hasher.HashedEntryAdapter;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.launcher.request.auth.JoinServerRequest;
import ru.gravit.utils.helper.LogHelper; import ru.gravit.utils.helper.LogHelper;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.net.URI; import java.net.URI;
import java.net.URL;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
@ -80,7 +78,7 @@ public void registerResult(String key, Class<? extends ResultInterface> clazz) {
public void registerResults() { public void registerResults() {
registerResult("echo", EchoRequestEvent.class); registerResult("echo", EchoRequestEvent.class);
registerResult("auth", AuthRequestEvent.class); registerResult("auth", AuthRequestEvent.class);
registerResult("checkServer", CheckServerEvent.class); registerResult("checkServer", CheckServerRequestEvent.class);
registerResult("joinServer", JoinServerRequestEvent.class); registerResult("joinServer", JoinServerRequestEvent.class);
registerResult("launcher", LauncherRequestEvent.class); registerResult("launcher", LauncherRequestEvent.class);
registerResult("profileByUsername", ProfileByUsernameRequestEvent.class); registerResult("profileByUsername", ProfileByUsernameRequestEvent.class);

View file

@ -0,0 +1,11 @@
package ru.gravit.launcher;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.METHOD})
public @interface LauncherNetworkAPI {
}

View file

@ -1,6 +1,7 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.ClientPermissions; import ru.gravit.launcher.ClientPermissions;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -11,10 +12,13 @@ public class AuthRequestEvent implements EventInterface, ResultInterface {
private static final UUID uuid = UUID.fromString("77e1bfd7-adf9-4f5d-87d6-a7dd068deb74"); private static final UUID uuid = UUID.fromString("77e1bfd7-adf9-4f5d-87d6-a7dd068deb74");
public AuthRequestEvent() { public AuthRequestEvent() {
} }
@LauncherNetworkAPI
public String error; public String error;
@LauncherNetworkAPI
public ClientPermissions permissions; public ClientPermissions permissions;
@LauncherNetworkAPI
public PlayerProfile playerProfile; public PlayerProfile playerProfile;
@LauncherNetworkAPI
public String accessToken; public String accessToken;
public AuthRequestEvent(PlayerProfile pp, String accessToken, ClientPermissions permissions) { public AuthRequestEvent(PlayerProfile pp, String accessToken, ClientPermissions permissions) {

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -9,7 +10,9 @@
public class BatchProfileByUsernameRequestEvent implements EventInterface, ResultInterface public class BatchProfileByUsernameRequestEvent implements EventInterface, ResultInterface
{ {
private static final UUID uuid = UUID.fromString("c1d6729e-be2c-48cc-b5ae-af8c012232c3"); private static final UUID uuid = UUID.fromString("c1d6729e-be2c-48cc-b5ae-af8c012232c3");
@LauncherNetworkAPI
public String error; public String error;
@LauncherNetworkAPI
public PlayerProfile[] playerProfiles; public PlayerProfile[] playerProfiles;
public BatchProfileByUsernameRequestEvent(PlayerProfile[] profiles) { public BatchProfileByUsernameRequestEvent(PlayerProfile[] profiles) {

View file

@ -1,22 +1,24 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
import java.util.UUID; import java.util.UUID;
public class CheckServerEvent implements EventInterface, ResultInterface { public class CheckServerRequestEvent implements EventInterface, ResultInterface {
private static final UUID _uuid = UUID.fromString("8801d07c-51ba-4059-b61d-fe1f1510b28a"); private static final UUID _uuid = UUID.fromString("8801d07c-51ba-4059-b61d-fe1f1510b28a");
public String type = "success"; @LauncherNetworkAPI
public UUID uuid; public UUID uuid;
@LauncherNetworkAPI
public PlayerProfile playerProfile; public PlayerProfile playerProfile;
public CheckServerEvent(PlayerProfile playerProfile) { public CheckServerRequestEvent(PlayerProfile playerProfile) {
this.playerProfile = playerProfile; this.playerProfile = playerProfile;
} }
public CheckServerEvent() { public CheckServerRequestEvent() {
} }
@Override @Override

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -7,6 +8,7 @@
public class EchoRequestEvent implements ResultInterface, EventInterface { public class EchoRequestEvent implements ResultInterface, EventInterface {
private static final UUID uuid = UUID.fromString("0a1f820f-7cd5-47a5-ae0e-17492e0e1fe1"); private static final UUID uuid = UUID.fromString("0a1f820f-7cd5-47a5-ae0e-17492e0e1fe1");
@LauncherNetworkAPI
public String echo; public String echo;
public EchoRequestEvent(String echo) { public EchoRequestEvent(String echo) {

View file

@ -7,7 +7,6 @@
public class JoinServerRequestEvent implements EventInterface, ResultInterface { public class JoinServerRequestEvent implements EventInterface, ResultInterface {
private static final UUID uuid = UUID.fromString("2a12e7b5-3f4a-4891-a2f9-ea141c8e1995"); private static final UUID uuid = UUID.fromString("2a12e7b5-3f4a-4891-a2f9-ea141c8e1995");
public String type = "success";
public JoinServerRequestEvent(boolean allow) { public JoinServerRequestEvent(boolean allow) {
this.allow = allow; this.allow = allow;

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -7,7 +8,7 @@
public class LauncherRequestEvent implements EventInterface, ResultInterface { public class LauncherRequestEvent implements EventInterface, ResultInterface {
private static final UUID uuid = UUID.fromString("d54cc12a-4f59-4f23-9b10-f527fdd2e38f"); private static final UUID uuid = UUID.fromString("d54cc12a-4f59-4f23-9b10-f527fdd2e38f");
public String type = "success"; @LauncherNetworkAPI
public String url; public String url;
public LauncherRequestEvent(boolean needUpdate, String url) { public LauncherRequestEvent(boolean needUpdate, String url) {

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -9,7 +10,9 @@
public class ProfileByUUIDRequestEvent implements EventInterface, ResultInterface public class ProfileByUUIDRequestEvent implements EventInterface, ResultInterface
{ {
private static final UUID uuid = UUID.fromString("b9014cf3-4b95-4d38-8c5f-867f190a18a0"); private static final UUID uuid = UUID.fromString("b9014cf3-4b95-4d38-8c5f-867f190a18a0");
@LauncherNetworkAPI
public String error; public String error;
@LauncherNetworkAPI
public PlayerProfile playerProfile; public PlayerProfile playerProfile;
public ProfileByUUIDRequestEvent(PlayerProfile playerProfile) { public ProfileByUUIDRequestEvent(PlayerProfile playerProfile) {

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.PlayerProfile; import ru.gravit.launcher.profiles.PlayerProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -9,7 +10,9 @@
public class ProfileByUsernameRequestEvent implements EventInterface, ResultInterface public class ProfileByUsernameRequestEvent implements EventInterface, ResultInterface
{ {
private static final UUID uuid = UUID.fromString("06204302-ff6b-4779-b97d-541e3bc39aa1"); private static final UUID uuid = UUID.fromString("06204302-ff6b-4779-b97d-541e3bc39aa1");
@LauncherNetworkAPI
public String error; public String error;
@LauncherNetworkAPI
public PlayerProfile playerProfile; public PlayerProfile playerProfile;
public ProfileByUsernameRequestEvent(PlayerProfile playerProfile) { public ProfileByUsernameRequestEvent(PlayerProfile playerProfile) {

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.profiles.ClientProfile; import ru.gravit.launcher.profiles.ClientProfile;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -10,6 +11,7 @@
public class ProfilesRequestEvent implements EventInterface, ResultInterface public class ProfilesRequestEvent implements EventInterface, ResultInterface
{ {
private static final UUID uuid = UUID.fromString("2f26fbdf-598a-46dd-92fc-1699c0e173b1"); private static final UUID uuid = UUID.fromString("2f26fbdf-598a-46dd-92fc-1699c0e173b1");
@LauncherNetworkAPI
public List<ClientProfile> profiles; public List<ClientProfile> profiles;
public ProfilesRequestEvent(List<ClientProfile> profiles) { public ProfilesRequestEvent(List<ClientProfile> profiles) {

View file

@ -1,5 +1,6 @@
package ru.gravit.launcher.events.request; package ru.gravit.launcher.events.request;
import ru.gravit.launcher.LauncherNetworkAPI;
import ru.gravit.launcher.hasher.HashedDir; import ru.gravit.launcher.hasher.HashedDir;
import ru.gravit.launcher.request.ResultInterface; import ru.gravit.launcher.request.ResultInterface;
import ru.gravit.utils.event.EventInterface; import ru.gravit.utils.event.EventInterface;
@ -8,7 +9,9 @@
public class UpdateListRequestEvent implements EventInterface, ResultInterface { public class UpdateListRequestEvent implements EventInterface, ResultInterface {
private static final UUID uuid = UUID.fromString("5fa836ae-6b61-401c-96ac-d8396f07ec6b"); private static final UUID uuid = UUID.fromString("5fa836ae-6b61-401c-96ac-d8396f07ec6b");
@LauncherNetworkAPI
public final String type; public final String type;
@LauncherNetworkAPI
public final HashedDir dir; public final HashedDir dir;
public UpdateListRequestEvent(HashedDir dir) { public UpdateListRequestEvent(HashedDir dir) {