From 7425179b3679172c1c2f07cf74e346209f739948 Mon Sep 17 00:00:00 2001 From: lax1dude Date: Sun, 23 Jun 2024 15:33:54 -0700 Subject: [PATCH] <1.0.6> Fixes, made builtin HTTP server timeout configurable --- .../EaglerXVelocity-Latest.jar | Bin 287739 -> 287884 bytes .../EaglerXVelocityVersion.java | 4 +-- .../event/EaglercraftRegisterCapeEvent.java | 6 ++-- .../event/EaglercraftRegisterSkinEvent.java | 6 ++-- .../config/EaglerUpdateConfig.java | 2 +- .../config/EaglerVelocityConfig.java | 21 +++++++---- .../server/EaglerPipeline.java | 5 +-- .../server/HttpWebSocketHandler.java | 7 ++-- .../server/query/MOTDQueryHandler.java | 6 ++-- .../gateway_velocity/skins/CapePackets.java | 6 ++-- .../gateway_velocity/skins/SkinPackets.java | 34 +++++++++--------- .../gateway_velocity/skins/SkinRescaler.java | 12 +++---- .../config/default_settings.yml | 1 + .../config/default_updates.yml | 2 +- .../src/main/resources/velocity-plugin.json | 2 +- gateway_version_velocity | 2 +- 16 files changed, 63 insertions(+), 53 deletions(-) diff --git a/gateway/EaglercraftXVelocity/EaglerXVelocity-Latest.jar b/gateway/EaglercraftXVelocity/EaglerXVelocity-Latest.jar index 9b7b4b66141fa4d7e8745042f93a531ae7d26a60..ab5a03d58e2e6052bc6019bba64e875a45b61648 100644 GIT binary patch delta 72916 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 diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/EaglerXVelocityVersion.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/EaglerXVelocityVersion.java index 03f9bea..b4746c1 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/EaglerXVelocityVersion.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/EaglerXVelocityVersion.java @@ -17,13 +17,13 @@ package net.lax1dude.eaglercraft.v1_8.plugin.gateway_velocity; */ public class EaglerXVelocityVersion { - public static final String NATIVE_VELOCITY_BUILD = "3.3.0-SNAPSHOT:e60e2063:b399"; + public static final String NATIVE_VELOCITY_BUILD = "3.3.0-SNAPSHOT:9d25d309:b400"; public static final String ID = "EaglerXVelocity"; public static final String PLUGIN_ID = "eaglerxvelocity"; public static final String NAME = "EaglercraftXVelocity"; public static final String DESCRIPTION = "Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks"; - public static final String VERSION = "1.0.5"; + public static final String VERSION = "1.0.6"; public static final String[] AUTHORS = new String[] { "lax1dude", "ayunami2000" }; } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterCapeEvent.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterCapeEvent.java index 57d4853..2b99a60 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterCapeEvent.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterCapeEvent.java @@ -39,9 +39,9 @@ public class EaglercraftRegisterCapeEvent { public void setForceUsePreset(int p) { customTex = new byte[5]; customTex[0] = (byte)1; - customTex[1] = (byte)(p >> 24); - customTex[2] = (byte)(p >> 16); - customTex[3] = (byte)(p >> 8); + customTex[1] = (byte)(p >>> 24); + customTex[2] = (byte)(p >>> 16); + customTex[3] = (byte)(p >>> 8); customTex[4] = (byte)(p & 0xFF); } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterSkinEvent.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterSkinEvent.java index 814a2aa..38f172b 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterSkinEvent.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/api/event/EaglercraftRegisterSkinEvent.java @@ -52,9 +52,9 @@ public class EaglercraftRegisterSkinEvent { useLoginResultTextures = false; customTex = new byte[5]; customTex[0] = (byte)1; - customTex[1] = (byte)(p >> 24); - customTex[2] = (byte)(p >> 16); - customTex[3] = (byte)(p >> 8); + customTex[1] = (byte)(p >>> 24); + customTex[2] = (byte)(p >>> 16); + customTex[3] = (byte)(p >>> 8); customTex[4] = (byte)(p & 0xFF); customURL = null; } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerUpdateConfig.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerUpdateConfig.java index 9a99f95..676f5e9 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerUpdateConfig.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerUpdateConfig.java @@ -27,7 +27,7 @@ public class EaglerUpdateConfig { int certPacketDataRateLimit = config.getInt("cert_packet_data_rate_limit", 524288); boolean enableEagcertFolder = config.getBoolean("enable_eagcert_folder", true); boolean downloadLatestCerts = config.getBoolean("download_latest_certs", true); - int checkForUpdatesEvery = config.getInt("check_for_update_every", 900); + int checkForUpdatesEvery = config.getInt("check_for_update_every", 28800); Collection downloadCertURLs = (Collection)config.getList("download_certs_from"); return new EaglerUpdateConfig(blockAllClientUpdates, discardLoginPacketCerts, certPacketDataRateLimit, enableEagcertFolder, downloadLatestCerts, checkForUpdatesEvery, downloadCertURLs); diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerVelocityConfig.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerVelocityConfig.java index 121a414..1400187 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerVelocityConfig.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/EaglerVelocityConfig.java @@ -121,6 +121,7 @@ public class EaglerVelocityConfig { long websocketKeepAliveTimeout = configYml.getInt("websocket_connection_timeout", 15000); long websocketHandshakeTimeout = configYml.getInt("websocket_handshake_timeout", 5000); + long builtinHttpServerTimeout = configYml.getInt("builtin_http_server_timeout", 10000); int websocketCompressionLevel = configYml.getInt("http_websocket_compression_level", 6); boolean downloadVanillaSkins = configYml.getBoolean("download_vanilla_skins_to_clients", false); @@ -148,12 +149,12 @@ public class EaglerVelocityConfig { Set disableFNAWSkinsOnServers = new HashSet((Collection)configYml.getList("disable_fnaw_skins_on_servers")); final EaglerVelocityConfig ret = new EaglerVelocityConfig(serverName, serverUUID, websocketKeepAliveTimeout, - websocketHandshakeTimeout, websocketCompressionLevel, serverListeners, contentTypes, - downloadVanillaSkins, validSkinUrls, uuidRateLimitPlayer, uuidRateLimitGlobal, skinRateLimitPlayer, - skinRateLimitGlobal, skinCacheURI, keepObjectsDays, keepProfilesDays, maxObjects, maxProfiles, - antagonistsRateLimit, sqliteDriverClass, sqliteDriverPath, eaglerPlayersVanillaSkin, - enableIsEaglerPlayerProperty, authConfig, updatesConfig, iceServers, voiceChat, - disableVoiceOnServers, disableFNAWSkinsEverywhere, disableFNAWSkinsOnServers); + websocketHandshakeTimeout, builtinHttpServerTimeout, websocketCompressionLevel, serverListeners, + contentTypes, downloadVanillaSkins, validSkinUrls, uuidRateLimitPlayer, uuidRateLimitGlobal, + skinRateLimitPlayer, skinRateLimitGlobal, skinCacheURI, keepObjectsDays, keepProfilesDays, maxObjects, + maxProfiles, antagonistsRateLimit, sqliteDriverClass, sqliteDriverPath, eaglerPlayersVanillaSkin, + enableIsEaglerPlayerProperty, authConfig, updatesConfig, iceServers, voiceChat, disableVoiceOnServers, + disableFNAWSkinsEverywhere, disableFNAWSkinsOnServers); if(eaglerPlayersVanillaSkin != null) { VanillaDefaultSkinProfileLoader.lookupVanillaSkinUser(ret); @@ -250,6 +251,7 @@ public class EaglerVelocityConfig { private final UUID serverUUID; private final long websocketKeepAliveTimeout; private final long websocketHandshakeTimeout; + private final long builtinHttpServerTimeout; private final int httpWebsocketCompressionLevel; private final Map serverListeners; private final Map contentTypes; @@ -295,6 +297,10 @@ public class EaglerVelocityConfig { return websocketHandshakeTimeout; } + public long getBuiltinHttpServerTimeout() { + return builtinHttpServerTimeout; + } + public int getHttpWebsocketCompressionLevel() { return httpWebsocketCompressionLevel; } @@ -439,7 +445,7 @@ public class EaglerVelocityConfig { } private EaglerVelocityConfig(String serverName, UUID serverUUID, long websocketKeepAliveTimeout, - long websocketHandshakeTimeout, int httpWebsocketCompressionLevel, + long websocketHandshakeTimeout, long builtinHttpServerTimeout, int httpWebsocketCompressionLevel, Map serverListeners, Map contentTypes, boolean downloadVanillaSkins, Collection validSkinUrls, int uuidRateLimitPlayer, int uuidRateLimitGlobal, int skinRateLimitPlayer, int skinRateLimitGlobal, String skinCacheURI, @@ -453,6 +459,7 @@ public class EaglerVelocityConfig { this.serverListeners = serverListeners; this.websocketHandshakeTimeout = websocketHandshakeTimeout; this.websocketKeepAliveTimeout = websocketKeepAliveTimeout; + this.builtinHttpServerTimeout = builtinHttpServerTimeout; this.httpWebsocketCompressionLevel = httpWebsocketCompressionLevel; this.contentTypes = contentTypes; this.downloadVanillaSkins = downloadVanillaSkins; diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/EaglerPipeline.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/EaglerPipeline.java index be1826b..feb09e9 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/EaglerPipeline.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/EaglerPipeline.java @@ -72,6 +72,7 @@ public class EaglerPipeline { EaglerVelocityConfig conf = EaglerXVelocity.getEagler().getConfig(); long handshakeTimeout = conf.getWebsocketHandshakeTimeout(); long keepAliveTimeout = conf.getWebsocketKeepAliveTimeout(); + long httpTimeout = conf.getBuiltinHttpServerTimeout(); List channelsList; synchronized(openChannels) { long millis = System.currentTimeMillis(); @@ -80,8 +81,8 @@ public class EaglerPipeline { Channel c = channelIterator.next(); final EaglerConnectionInstance i = c.attr(EaglerPipeline.CONNECTION_INSTANCE).get(); long handshakeTimeoutForConnection = 500l; - if(i.isRegularHttp) handshakeTimeoutForConnection = 10000l; - if(i.isWebSocket) handshakeTimeoutForConnection = handshakeTimeout; + if(i.isRegularHttp) handshakeTimeoutForConnection = httpTimeout; + else if(i.isWebSocket) handshakeTimeoutForConnection = handshakeTimeout; if(i == null || (!i.hasBeenForwarded && millis - i.creationTime > handshakeTimeoutForConnection) || millis - i.lastClientPongPacket > keepAliveTimeout || !c.isActive()) { if(c.isActive()) { diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/HttpWebSocketHandler.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/HttpWebSocketHandler.java index e24246a..9345986 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/HttpWebSocketHandler.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/HttpWebSocketHandler.java @@ -1167,7 +1167,8 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { if(connectionClosed) { return; } - if(!hasFirstPacket && (conf.isAllowMOTD() || conf.isAllowQuery()) && (str = str.toLowerCase()).startsWith("accept:")) { + if (!hasFirstPacket && (conf.isAllowMOTD() || conf.isAllowQuery()) && str.length() < 128 + && (str = str.toLowerCase()).startsWith("accept:")) { str = str.substring(7).trim(); hasFirstPacket = true; hasBinaryConnection = false; @@ -1348,7 +1349,7 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { buffer.writeShort(message.length()); for(int i = 0, l = message.length(), j; i < l; ++i) { j = message.charAt(i); - buffer.writeByte((j >> 8) & 0xFF); + buffer.writeByte((j >>> 8) & 0xFF); buffer.writeByte(j & 0xFF); } } @@ -1356,7 +1357,7 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { public static void writeLegacyRedirect(ByteBuf buffer, String redirect) { buffer.writeBytes(legacyRedirectHeader); byte[] redirect_ = redirect.getBytes(StandardCharsets.UTF_8); - buffer.writeByte((redirect_.length >> 8) & 0xFF); + buffer.writeByte((redirect_.length >>> 8) & 0xFF); buffer.writeByte(redirect_.length & 0xFF); buffer.writeBytes(redirect_); } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/query/MOTDQueryHandler.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/query/MOTDQueryHandler.java index d1a3615..785ff5f 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/query/MOTDQueryHandler.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/server/query/MOTDQueryHandler.java @@ -139,10 +139,10 @@ public class MOTDQueryHandler extends EaglerQuerySimpleHandler implements MOTDCo byte[] iconPixels = new byte[16384]; for(int i = 0, j; i < 4096; ++i) { j = i << 2; - iconPixels[j] = (byte)((bitmap[i] >> 16) & 0xFF); - iconPixels[j + 1] = (byte)((bitmap[i] >> 8) & 0xFF); + iconPixels[j] = (byte)(bitmap[i] >>> 16); + iconPixels[j + 1] = (byte)(bitmap[i] >>> 8); iconPixels[j + 2] = (byte)(bitmap[i] & 0xFF); - iconPixels[j + 3] = (byte)((bitmap[i] >> 24) & 0xFF); + iconPixels[j + 3] = (byte)(bitmap[i] >>> 24); } sendBinaryResponse(iconPixels); iconDirty = false; diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/CapePackets.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/CapePackets.java index e0895fa..62286f8 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/CapePackets.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/CapePackets.java @@ -89,9 +89,9 @@ public class CapePackets { byte[] ret = new byte[1 + 16 + 4]; ret[0] = (byte)PACKET_OTHER_CAPE_PRESET; SkinPackets.UUIDToBytes(uuid, ret, 1); - ret[17] = (byte)(presetId >> 24); - ret[18] = (byte)(presetId >> 16); - ret[19] = (byte)(presetId >> 8); + ret[17] = (byte)(presetId >>> 24); + ret[18] = (byte)(presetId >>> 16); + ret[19] = (byte)(presetId >>> 8); ret[20] = (byte)(presetId & 0xFF); return ret; } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinPackets.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinPackets.java index 4600904..2e22180 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinPackets.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinPackets.java @@ -148,9 +148,9 @@ public class SkinPackets { byte[] ret = new byte[1 + 16 + 4]; ret[0] = (byte)PACKET_OTHER_SKIN_PRESET; UUIDToBytes(uuid, ret, 1); - ret[17] = (byte)(presetId >> 24); - ret[18] = (byte)(presetId >> 16); - ret[19] = (byte)(presetId >> 8); + ret[17] = (byte)(presetId >>> 24); + ret[18] = (byte)(presetId >>> 16); + ret[19] = (byte)(presetId >>> 8); ret[20] = (byte)(presetId & 0xFF); return ret; } @@ -206,21 +206,21 @@ public class SkinPackets { public static void UUIDToBytes(UUID uuid, byte[] bytes, int off) { long msb = uuid.getMostSignificantBits(); long lsb = uuid.getLeastSignificantBits(); - bytes[off] = (byte)(msb >> 56l); - bytes[off + 1] = (byte)(msb >> 48l); - bytes[off + 2] = (byte)(msb >> 40l); - bytes[off + 3] = (byte)(msb >> 32l); - bytes[off + 4] = (byte)(msb >> 24l); - bytes[off + 5] = (byte)(msb >> 16l); - bytes[off + 6] = (byte)(msb >> 8l); + bytes[off] = (byte)(msb >>> 56l); + bytes[off + 1] = (byte)(msb >>> 48l); + bytes[off + 2] = (byte)(msb >>> 40l); + bytes[off + 3] = (byte)(msb >>> 32l); + bytes[off + 4] = (byte)(msb >>> 24l); + bytes[off + 5] = (byte)(msb >>> 16l); + bytes[off + 6] = (byte)(msb >>> 8l); bytes[off + 7] = (byte)(msb & 0xFFl); - bytes[off + 8] = (byte)(lsb >> 56l); - bytes[off + 9] = (byte)(lsb >> 48l); - bytes[off + 10] = (byte)(lsb >> 40l); - bytes[off + 11] = (byte)(lsb >> 32l); - bytes[off + 12] = (byte)(lsb >> 24l); - bytes[off + 13] = (byte)(lsb >> 16l); - bytes[off + 14] = (byte)(lsb >> 8l); + bytes[off + 8] = (byte)(lsb >>> 56l); + bytes[off + 9] = (byte)(lsb >>> 48l); + bytes[off + 10] = (byte)(lsb >>> 40l); + bytes[off + 11] = (byte)(lsb >>> 32l); + bytes[off + 12] = (byte)(lsb >>> 24l); + bytes[off + 13] = (byte)(lsb >>> 16l); + bytes[off + 14] = (byte)(lsb >>> 8l); bytes[off + 15] = (byte)(lsb & 0xFFl); } diff --git a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinRescaler.java b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinRescaler.java index e2a7cdb..7a1028b 100644 --- a/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinRescaler.java +++ b/gateway/EaglercraftXVelocity/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/skins/SkinRescaler.java @@ -21,10 +21,10 @@ public class SkinRescaler { for(int i = 0, j, k; i < imageIn.length; ++i) { j = i << 2; k = imageIn[i]; - imageOut[j] = (byte)(k >> 24); + imageOut[j] = (byte)(k >>> 24); imageOut[j + 1] = (byte)(k & 0xFF); - imageOut[j + 2] = (byte)(k >> 8); - imageOut[j + 3] = (byte)(k >> 16); + imageOut[j + 2] = (byte)(k >>> 8); + imageOut[j + 3] = (byte)(k >>> 16); } } @@ -65,10 +65,10 @@ public class SkinRescaler { j = (dstY + y) * imgDstWidth + dstX + x; } j = j << 2; - imageOut[j] = (byte)(i >> 24); + imageOut[j] = (byte)(i >>> 24); imageOut[j + 1] = (byte)(i & 0xFF); - imageOut[j + 2] = (byte)(i >> 8); - imageOut[j + 3] = (byte)(i >> 16); + imageOut[j + 2] = (byte)(i >>> 8); + imageOut[j + 3] = (byte)(i >>> 16); } } } diff --git a/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_settings.yml b/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_settings.yml index 4f0633d..8319599 100644 --- a/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_settings.yml +++ b/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_settings.yml @@ -2,6 +2,7 @@ server_name: 'EaglercraftXVelocity Server' server_uuid: ${random_uuid} websocket_connection_timeout: 15000 websocket_handshake_timeout: 5000 +builtin_http_server_timeout: 10000 http_websocket_compression_level: 6 download_vanilla_skins_to_clients: true valid_skin_download_urls: diff --git a/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_updates.yml b/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_updates.yml index d8a8104..d341cec 100644 --- a/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_updates.yml +++ b/gateway/EaglercraftXVelocity/src/main/resources/net/lax1dude/eaglercraft/v1_8/plugin/gateway_velocity/config/default_updates.yml @@ -6,4 +6,4 @@ download_latest_certs: true download_certs_from: - 'https://eaglercraft.com/backup.cert' - 'https://deev.is/eagler/backup.cert' -check_for_update_every: 900 \ No newline at end of file +check_for_update_every: 28800 \ No newline at end of file diff --git a/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json b/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json index 1df59ba..d6a22b9 100644 --- a/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json +++ b/gateway/EaglercraftXVelocity/src/main/resources/velocity-plugin.json @@ -1 +1 @@ -{"id":"eaglerxvelocity","name":"EaglercraftXVelocity","version":"1.0.5","description":"Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks","authors":["lax1dude", "ayunami2000"],"dependencies":[],"main":"net.lax1dude.eaglercraft.v1_8.plugin.gateway_velocity.EaglerXVelocity"} \ No newline at end of file +{"id":"eaglerxvelocity","name":"EaglercraftXVelocity","version":"1.0.6","description":"Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks","authors":["lax1dude", "ayunami2000"],"dependencies":[],"main":"net.lax1dude.eaglercraft.v1_8.plugin.gateway_velocity.EaglerXVelocity"} \ No newline at end of file diff --git a/gateway_version_velocity b/gateway_version_velocity index 1464c52..ece61c6 100644 --- a/gateway_version_velocity +++ b/gateway_version_velocity @@ -1 +1 @@ -1.0.5 \ No newline at end of file +1.0.6 \ No newline at end of file