Giter Club home page Giter Club logo

Comments (49)

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024 3

Dad, you're back??

...did you get the milk?

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024 1

I think this is an extremely interesting project, and containerizing AMP game server for enterprise environments has a giant potential to spread their software to an even wider user base.

What can I personally do to help you man?

Have you tried any of the new AI coding tools that are out now?

from amp-dockerized.

PhonicUK avatar PhonicUK commented on May 25, 2024 1

We're going to start looking at building an official replacement for this if the author is deprecating it. I'm not sure entirely how it'll work since you have to pull a docker container down to add new ports to expose (how are you guys currently handling this?)

Basically if someone could give me a brief primer about how you guys are actually using this image and creating instances inside of it, I'll see what can be done. The other question being whether UnRAID specifically would behave if the docker socket from the host was exposed to ADS to let AMP create containers itself.

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024 1

@theblobinc Thank you for that insight, it gives me a lot to think about in terms of handling updates for this container. I'm constantly striving for a better update process.

Here is my PR for fixing the build process for 2.4.5.0 Decadeus: #165

I'm playing with a new update strategy in that PR, but reading your comment makes me want to reconsider it a little bit. You are right that it would be advantageous to be able to choose a specific AMP version, and "pin" your server to that version. I'll keep thinking about this.

In the meantime, the update may be tested by pulling mitchtalmadge/amp-dockerized:staging-decadeus.

Also, I have removed the deprecation notice. I really don't want this project to die and I've decided to re-arrange some priorities in my life to keep it alive. Coding is my passion and letting a project like this die goes against why I ever started down this road.

Thanks for the support everyone

from amp-dockerized.

PhonicUK avatar PhonicUK commented on May 25, 2024 1

I will remind the thread that officially the only supported route for running AMP on unRAID is to use a proper VM. If you do so you'll get proper 1st party support and assistance.

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024 1

Hey @MitchTalmadge great to see you back. If you need any help, you can ask me whenever you want. Although i dont actively use this container anymore (although i would like to), i would still help you troubleshoot, improve and support you wherever i can.
If you want, you could also add me as a project collaborator, otherwise i'll make my pr's as usual if there is anything i can contribute :)

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

Let me take a look on my end as well. I'll let you know if I find something.

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

I've run into a wall that's a pain to get past. AMP is currently built using Debian 8 which is causing issues on newer kernels. Mike is releasing using a Debian 11 build server Wednesday to fix this. Until that happens it segfaults on me. As soon as he releases I'll build the image and play around some more.

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

I'm doing more digging into a latest build of AMP. It seems the container is just crashing now due to trying to create multiple instances for ADS01. I'll dig more this weekend and hopefully have an answer. It's not crashing due to the kernel issue anymore though, so progress! Lol

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024 1

Hey @MitchTalmadge just a small note regarding the latest changes: If you want to stay close to AMP suggestions regarding java, you should install 8, 17 and 20. Thats the java editions that are currently installed by the GetAMP.sh script

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

LTS is the way to go. 18 was included before there was a new LTS and is likely leftover from being behind on the AMP side.

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

That's awesome you got the restarts working! Is there anywhere you want me to look into?

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

Definitely! I'll try it this week!

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024 1

I am going to try it out aswell this week :D

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

That was going to be my suggestion as part of the documentation changes. :)

Obviously, these will be just that. Suggestions. So if you have a different view on anything I submit for PR feel free to push back!

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024 1

It's nice to see this man getting some of the help he needs, let me know if you require more promotions to find additional volunteers.

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

Green light by me! Definitely just a "Nice to have" on that note.

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024 1

#179

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024 1

That's an impressive list, if I do say so myself!

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024 1

Released! https://github.com/MitchTalmadge/AMP-dockerized/releases/tag/v22 I am working on getting GitHub Actions to publish it to Docker Hub right now. Ironically, GitHub is having a service degradation issue at the exact time I released this version

Btw, what about adding GHCR (Github Container Registry) as an alterantive to dockerhub btw? Would this maybe be interesting?

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

I think this is an extremely interesting project, and containerizing AMP game server for enterprise environments has a giant potential to spread their software to an even wider user base.

What can I personally do to help you man?

Have you tried any of the new AI coding tools that are out now?

The biggest priority right now would be getting the release process back up to date so that we aren’t stuck on 2.4.4.0. To do this we need to:

  • Update the Dockerfile to pull the new releases
  • Update the Dockerfile to use the new strategy for mainline/nightly (don’t know all the details on this right now, I just know it changed)
  • Update the GitHub Actions scripts to check for updates using the new URL and its different JSON structure

There’s an issue currently pinned which has more details on the latest version changes and has that new URL. I’m on my phone or I’d link it.

Once we have all that working, there’s a whole backlog of issues from people who need help with various game servers and such. I’m sure by now most of them have given up on this container, but the problems they reported would likely be encountered by others in the future so we still need to address them.

P.S. yeah!— GitHub Copilot has actually been very helpful. I managed to use it to help me add multi architecture support to GitHub Actions.

Thank you for any help you can provide! No pressure if you can’t — I totally understand :)

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

We're going to start looking at building an official replacement for this if the author is deprecating it. I'm not sure entirely how it'll work since you have to pull a docker container down to add new ports to expose (how are you guys currently handling this?)

Basically if someone could give me a brief primer about how you guys are actually using this image and creating instances inside of it, I'll see what can be done. The other question being whether UnRAID specifically would behave if the docker socket from the host was exposed to ADS to let AMP create containers itself.

Hi! I hope I’m understanding your question. We don’t use AMP’s own docker functionality in building this image. That would require docker-in-docker support, which is worth exploring but I’ve never had the chance. Right now by default the docker container creates an ADS instance and then to add instances you just log in and use the regular method of creating it through the web UI. Of course this means that dependencies for each game server have to be baked into the image and many of them will go unused. For example the people who would only run a Minecraft server will never make use of the Valve/Source dependencies, but we have to include them in the image we publish so that people who do want that option can use them. It also means every time a new game comes out we usually have to add more dependencies. Luckily there haven’t been many conflicts so far but they do happen.

An issue that arises is when people want to install custom games or custom mods which require more dependencies. To address this I added support for startup scripting, where you can have the container download the dependencies you need (among other things… it’s just a bash script, you could do anything) before spinning up AMP. The downside is that this has to be run every time the container restarts, so it slows down the boot process.

To expose ports you just change the settings wherever you’re running the docker container, whether that’s with a docker run command or docker compose or Unraid’s configuration tool (which is just a GUI to build a docker run command).

I hope that all makes sense. Thank you for your support. Today I’m going to try to do some updates on this container. If your team does create a replacement for this container I’ll be happy to help migrate everyone over, but of course you do not have to do that - it’s your product and you have the right to define how it should be used. I didn’t want to create more work for you with this container, though sometimes it feels like I have, and I feel bad about it.

Let me know if you have more questions or if I can clarify anything better. :)

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

I put aside everything today to focus on AMP. The upgrade to Decadeus is going well. I hope to have something on staging that can be tested tonight.

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024

They have a lot of really great stuff coming down the pipeline for AMP, but I can see how the update process changes could mess things up a bit on your end, and slow development down.
Their past update actually broke alot of people's installations, that's how I found myself here, looking for an alternative.

Recently, I have had a pretty giant push toward trying to containerize my entire setup to make it more portable.
AMP is basically the last major piece of software I have sitting on bare metal.

I generally run my entire setup off of a home lab and a business internet connection, and my reasoning behind containerizing everything is because it makes it a lot easier to later maintain and wind up services web services, if those services are basically just a docker-compose file and a few other config odds and ends.

Which brings me to AMP... Their inbuilt update scheme is ASS and you never know what you're going to get for an update.
It would be pretty advantageous if one were able to simply choose another amp version if the latest image breaks things or is going to break things.
Or even if there was any extra added level of quality and assurance added to the process to ensure their bunk updates never reach a server. (and if it does, you can go back pretty easily by manually choosing another image)

As it stands right now if they push a bad update and you install it without first waiting a few days and later going to their discord to check and see if it's bad... You are basically at Mikes's mercy to fix it.
It's all fixed now and running, but I was down for 12+ hrs and probably lost players.

And this has left me looking for another alternative because availability is key with a lot of the game servers and web applications I would like to run.
Portability is also a pretty big concern for me too for when I need to wind services up for an individual instance of AMP Game Server, it would be nice if winding those services up in a cloud environment was as simple as downloading a 22.8kb GitHub repo to the VM and running a .sh script that installs everything.
Docker containers make both of those things happen.

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024

I will try mess with that this weekend, I need to setup a proper test environment.
I have a dell r710 with a bare metal linux install of amp that could go.

I will just need to back the minecraft servers up that are on the machine first.

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024

Hi swamped, I'm dad.

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

Hello, im curious if this is still being worked on? I downloaded this docker on unraid, setup a minecraft java server, everything appears to be working fine but i cannot connect to it no matter what. all my other servers work just fine with the exact configuration on the same client/server using mine-os node and the binhex minecraft server container.. so i believe the issue is related to AMP and by the sound of things its mostly due to it not being maintained for awhile... Sounds like I just need to stop spending so much time trying to get this to work. Appreciate the effort on this project. I know how these things can go..

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024

Yes it is still being worked on, just not as quickly as you would hope.
Really there is only 1 dev working on it, as a side project,

Regarding connecting to it, that may just be a matter of you binding the correct interface and ports in your docker yml file.
You also have to realize that connecting directly to its CLI, would only ever be indirectly via exec commands.

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

I understand, I just wanted to know when I need to stop wasting my time trying to get this working if its a known issue due to this not being maintained in awhile.

The bind to the IP is correct and so is the port.. This is running on Docker inside unRAID.. Everything appears to be working just fine. No errors, everything is up and available, says servers available, i just get a "connection refused" everytime trying to connect to it. If i setup another server, using something like mineos or binhex minecraft server, using the same exact bindings IP/Port it connects right away..

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

Whats even more bizzare, doing a port scan, you can see all those ports available are ones on mineos node.. Those all work. I have two test servers running on AMP using port 25570 and 25571 that don't show as availble..

image

from amp-dockerized.

theblobinc avatar theblobinc commented on May 25, 2024

Could this be your issue:
https://github.com/MitchTalmadge/AMP-dockerized/tree/master#mac-address-important-please-read
Let's get the basics you may have missed when installing out of the way first...

Depending on your system setup, your configuration needs may vary.

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

ohh maybe, but my instances never deactive.. Let me give this a try later on and see if it will make a difference. I feel like its something super simple but can't figure out what. I've spent so much time on this already and figured it was time to ask around.. Appreciate you taking the time to give some insight.

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

That didnt help sadly, I was hopeful.. I put the permanent mac address as an extra parameter in the container. I had to re-activate my test instances and everything came back up.. Still no errors or any indication of a problem.. Still getting "Connection refused" bindins IP/Port look good.

from amp-dockerized.

Trembler34 avatar Trembler34 commented on May 25, 2024

I did end up doing that and it works perfectly. Thanks

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Thank you @Joly0! You have always been such a huge help. The primary thing stopping a release right now is my testing of the image mitchtalmadge:staging-debian-12. It runs fine in general, and runs Minecraft, but I'm having trouble getting steam games to start (TF2, GMod...). The server downloads fine, but upon start it fails and the debug scripts reveal that it is erroring "out of memory or address space." The server I am using, an Unraid server, has ~30GB free memory so I find that odd. I've read it could be related to 32 bit addressing somehow. I downgraded to the currently live image and wiped it all and tried again, but even that image has the same issue.

In short: if you can try that new image and see if source games work for you, that would help me a lot to determine if it's my system somehow.

Thanks for any time you can offer, I appreciate everything you and all other contributors have done ❤️

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Let me take a look on my end as well. I'll let you know if I find something.

Thank you so much!

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024

Hm, so far i dont have an issue starting TF2 for example, though i cant connect to the server (i have never played tf2 so idk what i might be doing wrong here). Any other games i could/should test?

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024

@MitchTalmadge if you want to rebuild the staging image to get the latest AMP build, I'll give it a test run. I've apparently botched my test image up completely. xD

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Hm, so far i dont have an issue starting TF2 for example, though i cant connect to the server (i have never played tf2 so idk what i might be doing wrong here). Any other games i could/should test?

Thanks for testing! Interesting how your TF2 seems to be working, maybe it's because I am using Unraid. I will try on another server not using Unraid.

@MitchTalmadge if you want to rebuild the staging image to get the latest AMP build, I'll give it a test run. I've apparently botched my test image up completely. xD

I have triggered a rebuild here for you :) https://github.com/MitchTalmadge/AMP-dockerized/actions/runs/6062677369

It should be published as mitchtalmadge/amp-dockerized:staging-debian-12 like before, just run docker pull or docker compose pull depending on how you're using the image after the build is done.

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

I was able to get TF2 running on a Windows Hyper-V Linux VM (not Unraid). I think the issues I was having were just Unraid related somehow. I am not really concerned about it. I think we can move forward with Debian 12.

One last thing before I release it, I am going to try adding support for ampinstmgr ProcessPendingTasks which should fix issues with the UI causing shutdowns of AMP or reboots that the container is not aware of... for example, when clicking "Upgrade this AMP Instance" in the UI, or "Restart this AMP Instance".

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024

The AMP Docker has 8, 11, 17 and 18 right now. That's what it was matched up with.

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Ok, I'll change the script. I was going with LTS versions (8, 11, 17, 21).

In other news the reboot and update tasks work from the UI now :)

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

LTS is the way to go. 18 was included before there was a new LTS and is likely leftover from being behind on the AMP side.

That's what it seems like to me, 21 is fairly new.. September I believe. And the Minecraft Paper server suggests using 21 now so I think that's what people will expect. If we're ok with LTS I will leave them there

That's awesome you got the restarts working! Is there anywhere you want me to look into?

Thank you! I am excited that it works. I learned how to do it a while ago from the Discord and finally took time to try it :) I feel like we have a pretty good release on our hands, would you mind just sorta testing it out a bit with a few popular games and see if there are any obvious issues? I'm doing the same and if it's all good I'll put out the release :)

from amp-dockerized.

IceOfWraith avatar IceOfWraith commented on May 25, 2024

I only tested the main image, not ARM. But it seems to work well! The one game that didn't work is Space Engineers but it is a special case that will need more focus (winetools and dev Wine version). I do have some suggestions for the documentation I'll do a PR for as well! There was one thing that stood out. AMP typically creates ADS as ADS01 instead of Main. Not a major issue since most people won't interact directly with it. But it would make it congruent with documentation.

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

AMP typically creates ADS as ADS01 instead of Main. Not a major issue since most people won't interact directly with it. But it would make it congruent with documentation.

Oh I didn't realize that, we can probably fix that. I think I named it Main because you can pick which instance you want it to start with, not necessarily ADS. e.g. if you set MODULE=Factorio then a Factorio instance is created but no ADS instance is ever created. I don't know if anyone uses that feature though. Should we require ADS to be created (and grandfather in the people who use the MODULE var)?

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Whaddya say we release this?

AMP typically creates ADS as ADS01 instead of Main. Not a major issue since most people won't interact directly with it. But it would make it congruent with documentation.

We can tackle this for the next release, I think? :)

from amp-dockerized.

Joly0 avatar Joly0 commented on May 25, 2024

Really nice. Btw, something from my end: Wouldnt it be possible to let the user configure the name of the "Main" instance? I like the name "Main" for my ADS instance, so it would be cool, if i could keep that in the future. Maybe make it configurable through env variables and if not set, default it to ADS01?

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Released! https://github.com/MitchTalmadge/AMP-dockerized/releases/tag/v22
I am working on getting GitHub Actions to publish it to Docker Hub right now. Ironically, GitHub is having a service degradation issue at the exact time I released this version ;-;

Wouldnt it be possible to let the user configure the name of the "Main" instance?

Yes :) We can add a var


Thank you everyone SO much for all your help. I could not do it without you. It means the world to me

from amp-dockerized.

MitchTalmadge avatar MitchTalmadge commented on May 25, 2024

Released! https://github.com/MitchTalmadge/AMP-dockerized/releases/tag/v22 I am working on getting GitHub Actions to publish it to Docker Hub right now. Ironically, GitHub is having a service degradation issue at the exact time I released this version

Btw, what about adding GHCR (Github Container Registry) as an alterantive to dockerhub btw? Would this maybe be interesting?

Yes! Let's do it! #182

from amp-dockerized.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.