itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.2k stars 1.52k forks source link

Mods not working, Forge server install. #180

Closed aprillia99 closed 6 years ago

aprillia99 commented 7 years ago

I have forge server running and I can log into the game fine, however, my mods are not enabled it seems. any help would be great. posting log below

`

date stream content
2017-09-24 20:46:04 stdout >  [20:46:04] [Server thread/INFO]: <aprillia99> EW
2017-09-24 20:44:26 stdout >  [20:44:26] [Server thread/INFO] [journeymap]: Sending log in packet.
2017-09-24 20:44:25 stdout >  [20:44:25] [Server thread/INFO]: aprillia99 joined the game
2017-09-24 20:44:25 stdout >  [20:44:25] [Server thread/INFO]: aprillia99[/172.17.0.1:50163] logged in with entity id 388 at (-83.76520349712297, 69.0, 245.85643461979342)
2017-09-24 20:44:25 stdout >  [20:44:25] [Server thread/INFO] [FML]: [Server thread] Server side vanilla connection established
2017-09-24 20:44:25 stdout >  [20:44:25] [Server thread/INFO] [FML]: Opening channel which already seems to have a state set. This is a vanilla connection. Handshake handler will stop now
2017-09-24 20:44:25 stdout >  [20:44:25] [Server thread/INFO] [FML]: Connection received without FML marker, assuming vanilla.
2017-09-24 20:44:25 stdout >  [20:44:25] [User Authenticator #1/INFO]: UUID of player aprillia99 is eaaf0251-36a8-445c-94ab-b9e43081e88d
2017-09-24 20:44:03 stdout >  [20:44:03] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
2017-09-24 20:44:03 stdout >  [20:44:03] [Server thread/INFO]: Starting remote control listener
2017-09-24 20:44:03 stdout >  [20:44:03] [Server thread/INFO]: Done (8.630s)! For help, type "help" or "?"
2017-09-24 20:44:02 stdout >  [20:44:02] [Server thread/INFO]: Preparing spawn area: 62%
2017-09-24 20:44:01 stdout >  [20:44:01] [Server thread/INFO]: Preparing spawn area: 29%
2017-09-24 20:44:00 stdout >  [20:44:00] [Server thread/INFO]: Preparing spawn area: 8%
2017-09-24 20:43:59 stdout >  [20:43:59] [Server thread/INFO]: Preparing spawn area: 0%
2017-09-24 20:43:57 stdout >  [20:43:57] [Server thread/INFO]: Preparing start region for level 0
2017-09-24 20:43:57 stdout >  [20:43:57] [Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.dedicated.DedicatedServer@207f0f85)
2017-09-24 20:43:57 stdout >  [20:43:57] [Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.dedicated.DedicatedServer@207f0f85)
2017-09-24 20:43:57 stdout >  [20:43:57] [Server thread/INFO]: Loaded 488 advancements
2017-09-24 20:43:56 stdout >  [20:43:56] [Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.dedicated.DedicatedServer@207f0f85)
2017-09-24 20:43:55 stdout >  [20:43:55] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:55 stdout >  [20:43:55] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO]: Preparing level "world"
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Forge Mod Loader has successfully loaded 6 mods
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Itemstack injection complete
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Injecting itemstacks
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:54 stdout >  [20:43:54] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:53 stdout >  [20:43:53] [Server thread/INFO]: Using epoll channel type
2017-09-24 20:43:53 stdout >  [20:43:53] [Server thread/INFO]: Starting Minecraft server on *:25565
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO]: Generating keypair
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO]: Default game type: SURVIVAL
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO]: Loading properties
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Itemstack injection complete
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Injecting itemstacks
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Holder lookups applied
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Applying holder lookups
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/WARN] [WAWLA]: No info engine detected! No info will be displayed!
2017-09-24 20:43:52 stdout >  [20:43:52] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: BETA Target: null
2017-09-24 20:43:52 stdout >  [20:43:52] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
2017-09-24 20:43:52 stdout >  [20:43:52] [Server thread/INFO] [FML]: Configured a dormant chunk cache size of 0
2017-09-24 20:43:51 stdout >  [20:43:51] [Server thread/INFO] [FML]: Found 0 ItemStackHolder annotations
2017-09-24 20:43:51 stdout >  [20:43:51] [Server thread/INFO] [FML]: Identifying ItemStackHolder annotations
2017-09-24 20:43:51 stdout >  [20:43:51] [Server thread/INFO] [FML]: Found 1168 ObjectHolder annotations
2017-09-24 20:43:51 stdout >  [20:43:51] [Server thread/INFO] [FML]: Processing ObjectHolder annotations
2017-09-24 20:43:50 stdout >  [20:43:50] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, journeymap, wawla] at SERVER
2017-09-24 20:43:50 stdout >  [20:43:50] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, journeymap, wawla] at CLIENT
2017-09-24 20:43:49 stdout >  [20:43:49] [Server thread/WARN] [FML]: Missing English translation for FML: assets/fml/lang/en_us.lang
2017-09-24 20:43:49 stdout >  [20:43:49] [Server thread/INFO] [FML]: Forge Mod Loader has identified 6 mods to load
2017-09-24 20:43:47 stdout >  [20:43:47] [Server thread/INFO] [FML]: Searching /data/mods for mods
2017-09-24 20:43:47 stdout >  [20:43:47] [Server thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
2017-09-24 20:43:46 stdout >  [20:43:46] [Server thread/INFO] [FML]: Replaced 1036 ore ingredients
2017-09-24 20:43:46 stdout > >  [20:43:46] [Server thread/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
2017-09-24 20:43:46 stdout [20:43:46] [Server thread/INFO] [FML]: MinecraftForge v14.23.0.2491 Initialized
2017-09-24 20:43:46 stdout [20:43:46] [Server thread/INFO]: Starting minecraft server version 1.12.2
2017-09-24 20:43:33 stdout [20:43:33] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
2017-09-24 20:43:32 stdout [20:43:32] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
2017-09-24 20:43:32 stdout [20:43:32] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
2017-09-24 20:43:31 stdout [20:43:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
2017-09-24 20:43:31 stdout [20:43:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
2017-09-24 20:43:31 stdout [20:43:31] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [FML]: Java is OpenJDK 64-Bit Server VM, version 1.8.0_131, running on Linux:amd64:3.10.102, installed at /usr/lib/jvm/java-1.8-openjdk/jre
2017-09-24 20:43:27 stdout [20:43:27] [main/INFO] [FML]: Forge Mod Loader version 14.23.0.2491 for Minecraft 1.12.2 loading
2017-09-24 20:43:26 stdout [20:43:26] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLServerTweaker
2017-09-24 20:43:26 stdout [20:43:26] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
2017-09-24 20:43:26 stdout [20:43:26] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
2017-09-24 20:43:20 stdout Setting initial memory to 1G and max to 1G
2017-09-24 20:43:20 stdout Invalid URL given for modpack: Must be HTTP or HTTPS and a ZIP file
2017-09-24 20:43:20 stdout Checking Forge version information.
2017-09-24 20:43:20 stdout Checking type information.
2017-09-24 20:43:20 stdout Checking version information.
2017-09-24 20:43:20 stdout Switching to user 'minecraft'

`

itzg commented 7 years ago

It quietly moved past the error, which was

Invalid URL given for modpack: Must be HTTP or HTTPS and a ZIP file

So I'm guessing you passed a -e MODPACK that wasn't a URL. If you're wanting to use mods you have already downloaded, you can unzip them into a directory and attach to the /mods path of the container, such as -v /home/user/mods:/mods.

Let me know if you're still stuck after that.

aprillia99 commented 6 years ago

Well I /had/ a -e MODPACK however i removed it and replaced it with .jar files in my mods folder. I have everything routed to docker/minecraft/mods and put the mods there.

The container is on volume /docker/Minecraft mount path is /data

It appears to see the mods .jar in the mods folder due to this Attempting connection with missing mods [minecraft, mcp, FML, forge, journeymap, wawla] at SERVER

but its not displaying in the game.. Am i right in assuming i can put .jar in my mods folder above? I removed the MODPACK line but it still searches for it as seen in the messages above.

itzg commented 6 years ago

Hmm, I'm not familiar with the error/message reported by forge, but yes you can stage the jar's in the /mods container directory to let the startup script grab them.

thomasmckay commented 6 years ago

I am struggling with this as well.

sudo docker run -d -v /home/thomasmckay/docker-forge/data:/data -v /home/thomasmckay/docker-forge/mods:/mods -e TYPE=FORGE -e FORGEVERSION=14.23.2.2634 -p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server

I've downloaded and copied a mod to the mods dir from https://minecraft.curseforge.com/projects/sevtech-ages/files/2545499

In the log below (in this run I renamed the zip to jar) I see the file being copied over and it's "added to classpath". When I start a forge client and connect to the server the world is there, however, I only see five mods that appear to be built in: Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, and mercurius_updater.

I feel there is something obvious I must be overlooking in installing or enabling the mod.

Copying mod SevTech+Ages-3.0.2.jar
Setting initial memory to 1G and max to 1G
[16:51:50] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLServerTweaker
2018-03-27 16:51:51,201 main WARN Disabling terminal, you're running in an unsupported environment.
[16:51:51] [main/INFO] [FML]: Forge Mod Loader version 14.23.2.2611 for Minecraft 1.12.2 loading
[16:51:51] [main/INFO] [FML]: Java is OpenJDK 64-Bit Server VM, version 1.8.0_151, running on Linux:amd64:4.12.9-300.fc26.x86_64, installed at /usr/lib/jvm/java-1.8-openjdk/jre
[16:51:51] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[16:51:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[16:51:52] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
[16:51:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[16:51:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[16:51:52] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[16:51:52] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[16:51:53] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
[16:51:55] [Server thread/INFO]: Starting minecraft server version 1.12.2
[16:51:55] [Server thread/INFO] [FML]: MinecraftForge v14.23.2.2611 Initialized
[16:51:55] [Server thread/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
[16:51:55] [Server thread/INFO] [FML]: Replaced 1036 ore ingredients
[16:51:55] [Server thread/INFO] [FML]: Found 1 mods from the command line. Injecting into mod discoverer
[16:51:55] [Server thread/INFO] [FML]: Searching /data/mods for mods
[16:51:56] [Server thread/INFO] [mercurius_updater]: Mod mercurius_updater is missing the required element 'name'. Substituting mercurius_updater
[16:51:56] [Server thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
[16:51:56] [Server thread/WARN] [FML]: Missing English translation for FML: assets/fml/lang/en_us.lang
[16:51:56] [Server thread/WARN] [FML]: Missing English translation for mercurius_updater: assets/mercurius_updater/lang/en_us.lang
[16:51:56] [Server thread/INFO] [FML]: FML has found a non-mod file SevTech+Ages-3.0.2.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible.
[16:51:56] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mercurius_updater] at CLIENT
[16:51:56] [Server thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mercurius_updater] at SERVER
[16:51:56] [Server thread/INFO] [FML]: Processing ObjectHolder annotations
[16:51:56] [Server thread/INFO] [FML]: Found 1168 ObjectHolder annotations
[16:51:56] [Server thread/INFO] [FML]: Identifying ItemStackHolder annotations
[16:51:56] [Server thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[16:51:56] [Server thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[16:51:56] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[16:51:56] [Server thread/INFO] [mercurius]: Version Number exists, Using it: 1.12.2-1.0.5.24
[16:51:56] [Server thread/INFO] [mercurius]: File exists, Checking hash: /data/./libraries/net/minecraftforge/Mercurius/1.12.2-1.0.5.24/Mercurius-1.12.2-1.0.5.24.jar
[16:51:56] [Server thread/INFO] [mercurius]:   Hash matches, Skipping download: 5f298bf707fd9e9400abe46e271f4648f0ec49cb
[16:51:56] [Server thread/INFO] [mercurius]: Mercurius Jar contains all signed files! Continueing loading!
[16:51:56] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:56] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:56] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:56] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:56] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:56] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:56] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:56] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:56] [Server thread/INFO] [FML]: Injecting itemstacks
[16:51:56] [Server thread/INFO] [FML]: Itemstack injection complete
[16:51:56] [Server thread/INFO]: Loading properties
[16:51:56] [Server thread/INFO]: Default game type: SURVIVAL
[16:51:56] [Server thread/INFO]: Generating keypair
[16:51:56] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: UP_TO_DATE Target: null
[16:51:56] [Server thread/INFO]: Starting Minecraft server on *:25565
[16:51:56] [Server thread/INFO]: Using epoll channel type
[16:51:57] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:57] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:57] [Server thread/INFO] [FML]: Injecting itemstacks
[16:51:57] [Server thread/INFO] [FML]: Itemstack injection complete
[16:51:57] [Server thread/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods
[16:51:57] [Server thread/INFO]: Preparing level "world"
[16:51:57] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
[16:51:57] [Server thread/INFO] [FML]: Applying holder lookups
[16:51:57] [Server thread/INFO] [FML]: Holder lookups applied
[16:51:57] [Server thread/INFO] [FML]: Loading dimension 0 (world) (net.minecraft.server.dedicated.DedicatedServer@14f74e6e)
[16:51:57] [Server thread/INFO]: Loaded 488 advancements
[16:51:57] [Server thread/INFO] [FML]: Loading dimension 1 (world) (net.minecraft.server.dedicated.DedicatedServer@14f74e6e)
[16:51:57] [Server thread/INFO] [FML]: Loading dimension -1 (world) (net.minecraft.server.dedicated.DedicatedServer@14f74e6e)
[16:51:57] [Server thread/INFO]: Preparing start region for level 0
[16:51:58] [Server thread/INFO]: Preparing spawn area: 88%
[16:51:58] [Server thread/INFO]: Done (1.644s)! For help, type "help" or "?"
[16:51:58] [Server thread/INFO]: Starting remote control listener
[16:51:58] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
thomasmckay commented 6 years ago

I think curseforge is different than TYPE=FORGE?

itzg commented 6 years ago

I might be confusing myself, but yes curseforge is a different server mode than plain old forge. Instead, try using TYPE=FTB. If that is the case, I have an instructional video for aligning the server modpack and client

https://youtu.be/IywIcwMc0E8

thomasmckay commented 6 years ago

@itzg - The mod I was trying to use, SevTech+Ages, is not compatible w/ FTB it seems. I'm on Fedora-27 which is why your docker solution is so appealing (plus I work on this container image tooling IRL). Thanks for your work on this! I'll try some other mods w/ FTB and FORGE types over the coming weeks.

itzg commented 6 years ago

Thanks for trying out that combo. I’ll have to investigate some more too since I suspect a new TYPE might be needed that handles sort of like FTB but not exactly.

CarsonF commented 6 years ago

Maybe you could update the FTB type to check if an Install.sh file exists (after extracting the modpack) and run it during setup. That seemed like the only step missing to me. I am also trying to use SevTech Ages, I'm not sure if Install.sh is a common pattern or specific to that modpack.

itzg commented 6 years ago

Thanks @CarsonF that was it! I am able to now locally test the fix with the SevTech modpack by using this run

docker run -it -p 25565:25565 -e EULA=TRUE \
  -e TYPE=FTB \
  -e FTB_SERVER_MOD=https://minecraft.curseforge.com/projects/sevtech-ages/files/2570735/download \
  itzg/minecraft-server

The CurseForge modpacks are close enough to FTB modpacks that I'll have TYPE=FTB support both, but may add aliases at some point.

itzg commented 6 years ago

This fix is now published to Hub.