From 052d85313c02fbf0b880a55bdbb27eccf7d107ea Mon Sep 17 00:00:00 2001 From: wisdommen Date: Sat, 7 Jan 2023 10:45:07 +1100 Subject: [PATCH] =?UTF-8?q?2023/1/7=E6=9B=B4=E6=96=B0=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?6.0.0=201.=20=E5=AE=8C=E5=96=84=E4=BA=86=E5=86=85=E7=BD=AE?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E9=85=8D=E7=BD=AE=202.=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=BA=86Linux=E6=97=A0=E6=B3=95=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ultikits/ultitools/UltiTools.java | 32 ++++++++++++++++--- .../ultitools/abstracts/UltiToolsPlugin.java | 2 +- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/UltiTools-API/src/main/java/com/ultikits/ultitools/UltiTools.java b/UltiTools-API/src/main/java/com/ultikits/ultitools/UltiTools.java index 30790d1..5e269c3 100755 --- a/UltiTools-API/src/main/java/com/ultikits/ultitools/UltiTools.java +++ b/UltiTools-API/src/main/java/com/ultikits/ultitools/UltiTools.java @@ -1,6 +1,7 @@ package com.ultikits.ultitools; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.net.NetUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; @@ -151,26 +152,47 @@ public final class UltiTools extends JavaPlugin implements Localized { json.write(new FileWriter(dataFile)); } + String username = getConfig().getString("account.username"); + String password = getConfig().getString("account.password"); + if (username == null || password == null || username.equals("") || password.equals("")) { + return; + } + Map paramMap = new HashMap<>(); - paramMap.put("username", getConfig().getString("account.username")); - paramMap.put("password", getConfig().getString("account.password")); + paramMap.put("username", username); + paramMap.put("password", password); String tokenJson = HttpUtil.post("https://api.v2.ultikits.com/user/getToken", paramMap); TokenEntity token = JSONObject.parseObject(tokenJson, TokenEntity.class); HttpResponse uuidResponse = HttpRequest.get("https://api.v2.ultikits.com/server/getByUUID?uuid=" + json.getByPath("uuid")) .bearerAuth(token.getAccess_token()) .execute(); - System.out.println(uuidResponse.body()); + int port = getConfig().getInt("web-editor.port"); + if (!NetUtil.isUsableLocalPort(port)) { + Bukkit.getLogger().log(Level.WARNING, "网页配置编辑器服务器端口不可用!"); + return; + } if (uuidResponse.getStatus() == 404) { ServerEntityVO serverEntityVO = ServerEntityVO.builder() .uuid(json.getByPath("uuid").toString()) .name("MC Server") - .port(getConfig().getInt("web-editor.port")) + .port(port) .build(); HttpResponse registerResponse = HttpRequest.post("https://api.v2.ultikits.com/editor/register?id=" + token.getId()) .bearerAuth(token.getAccess_token()) .body(serverEntityVO.toString()) .execute(); - System.out.println(registerResponse.body()); + if (!registerResponse.isOk()) { + Bukkit.getLogger().log(Level.WARNING, registerResponse.body()); + } + } else { + ServerEntityVO serverEntityVO = ServerEntityVO.builder() + .uuid(json.getByPath("uuid").toString()) + .port(port) + .build(); + HttpResponse registerResponse = HttpRequest.post("https://api.v2.ultikits.com/editor/updateServer?id=" + token.getId()) + .bearerAuth(token.getAccess_token()) + .body(serverEntityVO.toString()) + .execute(); if (!registerResponse.isOk()) { Bukkit.getLogger().log(Level.WARNING, registerResponse.body()); } diff --git a/UltiTools-API/src/main/java/com/ultikits/ultitools/abstracts/UltiToolsPlugin.java b/UltiTools-API/src/main/java/com/ultikits/ultitools/abstracts/UltiToolsPlugin.java index 435af53..134db91 100755 --- a/UltiTools-API/src/main/java/com/ultikits/ultitools/abstracts/UltiToolsPlugin.java +++ b/UltiTools-API/src/main/java/com/ultikits/ultitools/abstracts/UltiToolsPlugin.java @@ -65,7 +65,7 @@ public abstract class UltiToolsPlugin implements IPlugin, Localized { String filePath = UltiTools.getInstance().getDataFolder().getAbsolutePath() + "/pluginConfig/" + this.pluginName(); CodeSource src = this.getClass().getProtectionDomain().getCodeSource(); URL jar = src.getLocation(); - JarFile jarFile = new JarFile(jar.getPath().substring(1)); + JarFile jarFile = new JarFile(jar.getPath().startsWith("/") ? jar.getPath() : jar.getPath().substring(1)); Enumeration entries = jarFile.entries(); while (entries.hasMoreElements()) { JarEntry jarEntry = entries.nextElement();