Request: Make Forge optional for clients
ColorYak opened this issue ยท 4 comments
Right now, enabling lightweight mode allows the mod to be server side only, but clients still need forge installed. It would be nice if the dependency to Forge could also be made optional for the client, so vanilla clients could connect to a server with this mod.
Hmm... could you send me a log file of the server where a client without Forge attempted to connect?
Sure, here goes:
[20:35:11] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[20:35:11] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[20:35:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLServerTweaker
2017-04-19 20:35:13,158 WARN Disabling terminal, you're running in an unsupported environment.
[20:35:13] [main/INFO] [FML]: Forge Mod Loader version 13.20.0.2228 for Minecraft 1.11.2 loading
[20:35:13] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_121, running on Linux:amd64:4.4.0-51-generic, installed at /usr/lib/jvm/java-8-oracle/jre
[20:35:13] [main/WARN] [FML]: The coremod ivorius.ivtoolkit.IvToolkitLoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[20:35:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:35:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:35:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:35:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:35:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:35:14] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
[20:35:14] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:35:14] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:35:14] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:35:15] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:35:15] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:35:15] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
[20:35:19] [Server thread/INFO]: Starting minecraft server version 1.11.2
[20:35:19] [Server thread/INFO] [FML]: MinecraftForge v13.20.0.2228 Initialized
[20:35:19] [Server thread/INFO] [FML]: Replaced 232 ore recipes
[20:35:20] [Server thread/INFO] [FML]: Found 1 mods from the command line. Injecting into mod discoverer
[20:35:20] [Server thread/INFO] [FML]: Searching /home/ColorYak/Projects/Minecraft/Vanillin/TestServer/mods for mods
[20:35:20] [Server thread/INFO] [mercurius_updater]: Mod mercurius_updater is missing the required element 'name'. Substituting mercurius_updater
[20:35:20] [Server thread/INFO] [FML]: Forge Mod Loader has identified 7 mods to load
[20:35:20] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, ivtoolkit, mercurius_updater, reccomplex] at CLIENT
[20:35:20] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, ivtoolkit, mercurius_updater, reccomplex] at SERVER
[20:35:21] [Server thread/INFO] [FML]: Processing ObjectHolder annotations
[20:35:21] [Server thread/INFO] [FML]: Found 444 ObjectHolder annotations
[20:35:21] [Server thread/INFO] [FML]: Identifying ItemStackHolder annotations
[20:35:21] [Server thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[20:35:21] [Server thread/INFO] [FML]: Applying holder lookups
[20:35:21] [Server thread/INFO] [FML]: Holder lookups applied
[20:35:21] [Server thread/INFO] [FML]: Applying holder lookups
[20:35:21] [Server thread/INFO] [FML]: Holder lookups applied
[20:35:21] [Server thread/INFO] [FML]: Applying holder lookups
[20:35:21] [Server thread/INFO] [FML]: Holder lookups applied
[20:35:21] [Server thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[20:35:21] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[20:35:21] [Server thread/INFO] [mercurius]: Version Number exists, Using it: 1.11-1.0.4.18
[20:35:21] [Server thread/INFO] [mercurius]: File exists, Checking hash: /home/ColorYak/Projects/Minecraft/Vanillin/TestServer/./libraries/net/minecraftforge/Mercurius/1.11-1.0.4.18/Mercurius-1.11-1.0.4.18.jar
[20:35:21] [Server thread/INFO] [mercurius]: Hash matches, Skipping download: 2536d9a7050c3fd96a1077d25c7f9b49290b2b9e
[20:35:21] [Server thread/INFO] [mercurius]: Mercurius Jar contains all signed files! Continueing loading!
[20:35:21] [Server thread/INFO] [FML]: Applying holder lookups
[20:35:21] [Server thread/INFO] [FML]: Holder lookups applied
[20:35:21] [Server thread/INFO] [FML]: Injecting itemstacks
[20:35:21] [Server thread/INFO] [FML]: Itemstack injection complete
[20:35:21] [Server thread/INFO]: Loading properties
[20:35:21] [Server thread/INFO]: Default game type: SURVIVAL
[20:35:21] [Server thread/INFO]: Generating keypair
[20:35:21] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: UP_TO_DATE Target: null
[20:35:21] [Server thread/INFO]: Starting Minecraft server on *:25565
[20:35:21] [Server thread/INFO]: Using epoll channel type
[20:35:22] [Server thread/INFO] [FML]: Injecting itemstacks
[20:35:22] [Server thread/INFO] [FML]: Itemstack injection complete
[20:35:23] [Server thread/INFO] [FML]: Forge Mod Loader has successfully loaded 7 mods
[20:35:23] [Server thread/INFO]: Preparing level "world"
[20:35:23] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[20:35:23] [Server thread/INFO] [FML]: Applying holder lookups
[20:35:23] [Server thread/INFO] [FML]: Holder lookups applied
[20:35:23] [Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
[20:35:24] [Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
[20:35:24] [Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
[20:35:24] [Server thread/INFO]: Preparing start region for level 0
[20:35:25] [Server thread/INFO]: Preparing spawn area: 52%
[20:35:25] [Server thread/INFO]: Done (1.708s)! For help, type "help" or "?"
[20:37:15] [Netty Epoll Server IO #2/INFO] [FML]: Disconnecting Player: This server requires FML/Forge to be installed. Contact your server admin for more details.
[20:37:29] [Server thread/INFO]: Stopping the server
[20:37:29] [Server thread/INFO]: Stopping server
[20:37:29] [Server thread/INFO]: Saving players
[20:37:29] [Server thread/INFO]: Saving worlds
[20:37:29] [Server thread/INFO]: Saving chunks for level 'world'/Overworld
[20:37:29] [Server thread/INFO]: Saving chunks for level 'world'/Nether
[20:37:29] [Server thread/INFO]: Saving chunks for level 'world'/The End
[20:37:29] [Server thread/INFO] [FML]: Unloading dimension 0
[20:37:29] [Server thread/INFO] [FML]: Unloading dimension -1
[20:37:29] [Server thread/INFO] [FML]: Unloading dimension 1
[20:37:29] [Server thread/INFO] [FML]: Applying holder lookups
[20:37:29] [Server thread/INFO] [FML]: Holder lookups applied
This is on a clean server with only Forge-13.20.0.2228, IvToolkit-1.3.2.1 and RecurrentComplex-1.2.10, and a vanilla 1.11.2 client.
Sorry, I forgot to enable lightweight mode for the above log output, but it does not seem to make much difference with regard to the log output. Here is the diff output between the log outputs (timestamp stripped):
--- server.nolightweight.txt 2017-04-19 20:46:44.066382325 +0200
+++ server.log 2017-04-19 20:46:43.394368222 +0200
@@ -42,6 +42,7 @@
[Server thread/INFO] [mercurius]: File exists, Checking hash: /home/ColorYak/Projects/Minecraft/Vanillin/TestServer/./libraries/net/minecraftforge/Mercurius/1.11-1.0.4.18/Mercurius-1.11-1.0.4.18.jar
[Server thread/INFO] [mercurius]: Hash matches, Skipping download: 2536d9a7050c3fd96a1077d25c7f9b49290b2b9e
[Server thread/INFO] [mercurius]: Mercurius Jar contains all signed files! Continueing loading!
+[Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: UP_TO_DATE Target: null
[Server thread/INFO] [FML]: Applying holder lookups
[Server thread/INFO] [FML]: Holder lookups applied
[Server thread/INFO] [FML]: Injecting itemstacks
@@ -49,7 +50,6 @@
[Server thread/INFO]: Loading properties
[Server thread/INFO]: Default game type: SURVIVAL
[Server thread/INFO]: Generating keypair
-[Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: UP_TO_DATE Target: null
[Server thread/INFO]: Starting Minecraft server on *:25565
[Server thread/INFO]: Using epoll channel type
[Server thread/INFO] [FML]: Injecting itemstacks
@@ -59,13 +59,13 @@
[Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[Server thread/INFO] [FML]: Applying holder lookups
[Server thread/INFO] [FML]: Holder lookups applied
-[Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
-[Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
-[Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.dedicated.DedicatedServer@1d2a457c)
+[Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.dedicated.DedicatedServer@6d813292)
+[Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.dedicated.DedicatedServer@6d813292)
+[Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.dedicated.DedicatedServer@6d813292)
[Server thread/INFO]: Preparing start region for level 0
-[Server thread/INFO]: Preparing spawn area: 52%
-[Server thread/INFO]: Done (1.708s)! For help, type "help" or "?"
-[Netty Epoll Server IO #2/INFO] [FML]: Disconnecting Player: This server requires FML/Forge to be installed. Contact your server admin for more details.
+[Server thread/INFO]: Preparing spawn area: 70%
+[Server thread/INFO]: Done (1.530s)! For help, type "help" or "?"
+[Netty Epoll Server IO #1/INFO] [FML]: Disconnecting Player: This server requires FML/Forge to be installed. Contact your server admin for more details.
[Server thread/INFO]: Stopping the server
[Server thread/INFO]: Stopping server
[Server thread/INFO]: Saving players
Note that the server correctly warned me of missing blocks after enabling lightweight mode. The log diff is from a new world created with lightweight mode enabled from the beginning, to make sure that the previous test did not influence this one.