spritsail / amp-minecraft

Dockerfile for running a Minecraft server through the server management program AMP.
6 stars 2 forks source link

Git is not installed #1

Closed ntimo closed 5 years ago

ntimo commented 5 years ago

Hello,

It would be good if you could add git to your amp Minecraft image. Git is used by Amp to download files for Spigot builds.

frebib commented 5 years ago

@Adam-Ant think you'll have time to look at this today?

Adam-Ant commented 5 years ago

Yeah, should be a simple fix, I'll get on it.

ntimo commented 5 years ago

Oh that was a fast response, thanks 🙏 oh and by the way great work 🙌🙌

Adam-Ant commented 5 years ago

In typical fashion, because I said it should be easy, its turned out to be a bit of a pain, primarily due to some bugs in cURL. It is being worked on, though might be a few days!

Adam-Ant commented 5 years ago

Hello! We've been working on this, alongside a much needed update to Amp instance manager 1.7. The actual change to enable spigot ended up being reasonably small, though it is somewhat of a hack, due to Spigots strange use of git. Because of 1.7 and this, we've pushed all the changes to a different branch and tag for some testing. If you want to give them a go, the build log is here, and it should be pushed to spritsail/amp-minecraft:spigot as soon as that build finishes, hopefully in the next 15 minutes or so. I'll leave this issue open til I merge this fix into master.

frebib commented 5 years ago

@ntimo Did you have a chance to test this yet?

ntimo commented 5 years ago

@frebib Yes I tried it a few times but it doesn't seem to work. A spigot builds folder is created and stuff is downloaded but that's it nothing more happens.

frebib commented 5 years ago

Oh, that's frustrating. Are there any relevant logs that might help us? Tell us the steps you're following to reproduce and we'll try to make it work :grin:

ntimo commented 5 years ago

Steps to reproduce:

  1. Login in to AMP
  2. Click on Configuration
  3. Click on Minecraft
  4. Select Server Type Spigot
  5. Click on Download / update under Server type

The logs only say:

[22:24:40] [Auth:Anonymous Activity] : Authentication attempt for user admin from 172.24.0.2
[22:24:41] [Auth:admin Activity] ?: Authentication success
[22:24:59] [API:admin Activity] ??: Changing setting MinecraftModule.MinecraftSettings.ServerType to 30
[22:25:01] [API:admin Activity] ??: Updating the application.
[22:25:03] [Minecraft:admin Info] : Selected release stream is Stable...
frebib commented 5 years ago

So from what I can see, it is actually running. The build of Spigot can take up to half an hour depending on how beefy your system is. Try running docker top or docker exec -ti <container> top to check that buildtools is running

For example, from my testing:

Mem: 15155872K used, 1251400K free, 126356K shrd, 475300K buff, 5702752K cached
CPU: 87.8% usr  4.8% sys  0.0% nic  4.8% idle  0.0% io  2.4% irq  0.0% sirq
Load average: 3.34 2.20 1.89 5/1310 232
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
  205    51 amp      S    6403m 39.7   3 68.2 /usr/lib/jvm/bin/java -jar BuildData/bi
   51     6 amp      S    3694m 22.9   1  0.0 /usr/bin/java -Xmx1024M -jar BuildTools
    6     1 amp      S    1597m  9.9   2  0.0 ./AMP_Linux_x86_64
  139     0 amp      S    10624  0.0   1  0.0 /bin/sh
  232   139 amp      R    10624  0.0   3  0.0 top
    1     0 amp      S     4064  0.0   3  0.0 /sbin/tini -- /start.sh
frebib commented 5 years ago

You can also set Monitoring.LogLevel=0 in /ampdata/AMPConfig.conf followed by a restart of the container if you want more verbose logging. You should be able to see AMP launch the BuildTools process then:

[22:43:54] [Minecraft:admin Debug] : Downloading from https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar, saving to ./Minecraft/spigotbuild/BuildTools.jar
[22:43:54] [Core:admin Debug] ????: Downloading https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar, saving to /tmp/tmp2a8f7a18.tmp
[22:43:55] [Core:admin Debug] ????: Moving /tmp/tmp2a8f7a18.tmp to ./Minecraft/spigotbuild/BuildTools.jar...
[22:43:55] [Core:admin Debug] ????: Running command line: "/usr/bin/git config --global --unset core.autocrlf" from "./Minecraft/spigotbuild"
[22:43:55] [Minecraft:admin Info] : Selected release stream is Stable...
[22:43:55] [Core:admin Debug] ????: Running command line: "/usr/bin/java -Xmx1024M -jar BuildTools.jar --rev latest" from "./Minecraft/spigotbuild"
frebib commented 5 years ago

Ignore what I said above. We've identified the problem. it turns out that BuildTools is a big pile of 💩 and does require git to build. When one of us finds some time we'll add Git to the container and let you test it out :)

frebib commented 5 years ago

If you want to use AMP in the meantime, you can run buildtools and mount/move it inside the container and AMP should probably pick it up.

ntimo commented 5 years ago

Hello, Do you maybe have news? :) About adding Git to the container.

Thanks in advance

Adam-Ant commented 5 years ago

I think we've finally cracked this one. We've updated AMP to 1.7, and I'm about to push a huge change that should actually install git into this image. Thanks for sticking with us through this!

Adam-Ant commented 5 years ago

This has now been built and pushed to Docker Hub :)