Coder Social home page Coder Social logo

Comments (37)

nitrog0d avatar nitrog0d commented on September 17, 2024 4

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator).
I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.

Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024 3

@jammsen @DDxPlague I've been watching Docker Hub every day. I came across this today: https://hub.docker.com/r/czy0612/palworld-server

It looks like there's emulating happening on the steamcmd container but I am not sure about the Palworld server part. There's isn't much information in the page.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024 3

@nitrog0d i dont see this comment anymore, somehow, but my emails tell me this:

Hello @jammsen, kindly requesting permission to use your scriptmanager.sh and your README.md as base for the arm64 image, is that okay?

Of course thats okay, feel free to use ANYTHING ❤️ - We are a community! Sharing is caring!

from docker-palworld-dedicated-server.

Berodin avatar Berodin commented on September 17, 2024 2

@jammsen @DDxPlague I've been watching Docker Hub every day. I came across this today: https://hub.docker.com/r/czy0612/palworld-server

It looks like there's emulating happening on the steamcmd container but I am not sure about the Palworld server part. There's isn't much information in the page.

It also does emulation stuff on palworld server:
ENTRYPOINT ["/bin/sh" "-c" "FEXBash ~/Steam/steamapps/common/PalServer/PalServer.sh"]

Right now thats one possible solution. In the end it can only run through qemu, box86/64, FEX and the likes.

from docker-palworld-dedicated-server.

DDxPlague avatar DDxPlague commented on September 17, 2024 1

So chiming in a bit here:

  1. I can test on arm64 Linux and Mac when we get to where we're going.

  2. This is a UE5 based game. Building an arm64 server binary is literally a one-click option in addition to their Windows server build (I actually wrote the guide on how to do this). @RhanCandia if you want to point the developer to me I can help them do this. Also linking here for future: https://aws.amazon.com/blogs/gametech/compiling-unreal-engine-5-dedicated-servers-for-aws-graviton-ec2-instances/

  3. getting steamcmd up and running on arm64 shouldn't be too much work once we get the other pieces sorted. QEMU may work for this if we have to.

  4. i would highly recommend against QEMU for the server itself if we care about performance at all. QEMU emulation can be incredibly slow for things like this.

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024 1

So chiming in a bit here:

  1. I can test on arm64 Linux and Mac when we get to where we're going.
  2. This is a UE5 based game. Building an arm64 server binary is literally a one-click option in addition to their Windows server build (I actually wrote the guide on how to do this). @RhanCandia if you want to point the developer to me I can help them do this. Also linking here for future: https://aws.amazon.com/blogs/gametech/compiling-unreal-engine-5-dedicated-servers-for-aws-graviton-ec2-instances/
  3. getting steamcmd up and running on arm64 shouldn't be too much work once we get the other pieces sorted. QEMU may work for this if we have to.
  4. i would highly recommend against QEMU for the server itself if we care about performance at all. QEMU emulation can be incredibly slow for things like this.

Thank you for the input. I tried posting on their official Discord but their issue/ideas channel is full. It's hard to get noticed in the chat. I can't find the right channel to post this request.

Their website is kinda hard to navigate. It's hard to find the right email address.

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024 1

The docker image I linked above uses FEX too. Same Ubuntu image. I experienced a server crash on that image and it reset my and my friends progress.

Well I don't know yet how the palworld dedicated server looks likes and works, but in normally you need a persistent volume mounted to the dockercontainer and configure the install process in a way that it uses existing data (save data, not then entire server) if possible.

I did learn my lesson after that crash. I modified the image and mounted a volume so I can back up the data. It is still not as flexible as @jammsen’s as I would like. But it serves the purpose for now.

from docker-palworld-dedicated-server.

EmPiFree avatar EmPiFree commented on September 17, 2024 1

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.
Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

Awesome!
I've been trying to set up and make a server work on OCI with arm for 3 days now. If you need someone to test it there when you make your configs, just let me know.

It works with this image https://hub.docker.com/r/czy0612/palworld-server But it lacks customization on docker image level. I also couldn't manage to change server settings, because the container always shuts down, when killing the PalServer process.

For me it didn't work, maybe I'm doing something wrong.

Did you make any specific config to the VCN or to the Instance reguarding network config?

I created an Instance, intalled docker, pulled the image and run it, but nothing, wasn't able to conect to it

On VCN site I just forwarded the port 8211 on UDP and it worked.

from docker-palworld-dedicated-server.

nitrog0d avatar nitrog0d commented on September 17, 2024 1

I ended up making a repo, I based the server management script off yours (oh and the README too)and also left links on the readme, if that's fine!
I did not set up GitHub actions as I don't know much about these, ended up uploading the image using docker push
If you want me to link your repo for whoever is using amd64 instead, I don't mind
It's also my first ever docker image, so if anyone spots anything wrong let me know or PR :)

from docker-palworld-dedicated-server.

Deses avatar Deses commented on September 17, 2024 1

have NO test-hardware for this, so testing would be up to the community and i need at least 2-3 testers for this.

You can test this using a Free Oracle Cloud instance.

I was planning to host a small dedicated server for my friends and I using their free ARM servers, like I used to do with Minecraft.

from docker-palworld-dedicated-server.

fogolin avatar fogolin commented on September 17, 2024 1

Ive looked a bit more into this, but bascially afaik SteamCMD is not existing for arm64 architecture. If you guys want to try more aroung i have seen this post https://www.reddit.com/r/linux_gaming/comments/v6b9n5/steamcmd_on_arm_with_box86_and_box64_issues/

Hey @RhanCandia - Not to be rude, but this issue is way more then just adding docker buildx plattform and build it also for you on arm64. You have to do so much work to even get the package-manager running, after that you have to go heavy into virtualization and make translation layers ready to emulate or cross-compile on some layer code and then you dont even know if the dedicated server really runs.

Sorry that topic in itself isnt "an issue" here, its an entire new project with many hours of work and expertise i simply dont have. I cant deliver something like this 😞 .

Are you okay with that answer and can we close this issue?

@jammsen I've looked into it and found this:
https://github.com/TeriyakiGod/steamcmd-docker-arm64

Don't know if it helps, but I'd prefer using this repo (with all the bells and whistles) over the other one cited here any given day. Would you consider looking into it?

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

Well with Docker and Buildx to build for arm64 arch would be in itself no problem but i dont know about the Base-Image i use ( https://hub.docker.com/r/cm2network/steamcmd ).

Even when that works, the package on SteamCMD must be able to download this too.
https://steamdb.info/app/2394010/info/

I can have a look at this, but i have NO test-hardware for this, so testing would be up to the community and i need at least 2-3 testers for this.

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024

Well with Docker and Buildx to build for arm64 arch would be in itself no problem but i dont know about the Base-Image i use ( https://hub.docker.com/r/cm2network/steamcmd ).

Even when that works, the package on SteamCMD must be able to download this too. https://steamdb.info/app/2394010/info/

I can have a look at this, but i have NO test-hardware for this, so testing would be up to the community and i need at least 2-3 testers for this.

I would test for sure. Although another thing is that I am using the GamePass version. I am not sure if that can join dedicated servers because those servers are probably based on the Steam servers. I may have to purchase the game on Steam.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

As of the time right now Steam and Xbox dont work YET. They said the plan to has this working, but nothing else als information to that either. (Wanting to have something and have something planed with a roadmap are 2 big different things 😎 )

Steam can only do Steam things, if you dont want to wait you would have to invest in that game to have it bought and not lended over the game-pass, yes.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

I've looked about 1h into that and tested a bit around, but i have nothing. Seems not that easy, because of the base-image lacking support for ARM. Maybe i will look into that tomorrow again.

from docker-palworld-dedicated-server.

SakulFlee avatar SakulFlee commented on September 17, 2024

I just came across this issue and wanted to share a possible solution.
Though, I haven't done any testing yet and performance of it might be underwhelming.

Either way, I am seeing two issues:

  1. steamcmd (the tool used to download the palworld server from steam) only exists for the i686 architecture (32-bit/x86). There isn't even a x86_64 version of it. Valve usually recommends just installing the normal steam client for those platforms, it seems.

Some ideas: the palworld server could be pre-downloaded, manually downloaded or steamcmd could be emulated using something like QEMU (see below).

  1. However, the bigger issue is that the palworld server also only is published for x86_64 (see osarch here).
    I haven't tried running it via QEMU User-Space emulation yet, but usually the setup for this is rather complicated and (in case of docker) requires some extra steps to get the image to run. Furthermore, this emulation usually is very slow ... most likely for a game server.

What we could try is the following:

  1. Deploy multiarch/qemu-user-static as a container first
    Possibly inside a docker-compose file, if that works?

Note

There may be some setup required on the host system.

E.g.:

$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
  1. Deploy some custom docker-image based on some arm64/aarch64 distribution (like Ubuntu-ARM) and get the Palworld server on it.
    Again, either of these could work:
  • Pre-Download?
  • Manual Download?
  • Emulating steamcmd?
  1. Start the server, emulated, and hope that everything works.
    ... especially performance wise ...

Naturally, I'd be happy to test and help if required :)
Though, while it should work in theory, I don't think it will be performant enough to actually play the game.

The best cause of action here may be to approach the developers and ask them to release the server for ARM64. Unreal Engine supports this since the latest release(s) as far as I know.

from docker-palworld-dedicated-server.

Juice805 avatar Juice805 commented on September 17, 2024

Somewhat tangential, but for those attempting to host on an arm Mac machine via Rosetta, you may need to add +@sSteamCmdForcePlatformBitness 64 to the steamcmd command to ensure steamcmd understands it's in a 64 bit environment. See here

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

Ive looked a bit more into this, but bascially afaik SteamCMD is not existing for arm64 architecture.
If you guys want to try more aroung i have seen this post https://www.reddit.com/r/linux_gaming/comments/v6b9n5/steamcmd_on_arm_with_box86_and_box64_issues/

Hey @RhanCandia - Not to be rude, but this issue is way more then just adding docker buildx plattform and build it also for you on arm64. You have to do so much work to even get the package-manager running, after that you have to go heavy into virtualization and make translation layers ready to emulate or cross-compile on some layer code and then you dont even know if the dedicated server really runs.

Sorry that topic in itself isnt "an issue" here, its an entire new project with many hours of work and expertise i simply dont have. I cant deliver something like this 😞 .

Are you okay with that answer and can we close this issue?

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024

Ive looked a bit more into this, but bascially afaik SteamCMD is not existing for arm64 architecture. If you guys want to try more aroung i have seen this post https://www.reddit.com/r/linux_gaming/comments/v6b9n5/steamcmd_on_arm_with_box86_and_box64_issues/

Hey @RhanCandia - Not to be rude, but this issue is way more then just adding docker buildx plattform and build it also for you on arm64. You have to do so much work to even get the package-manager running, after that you have to go heavy into virtualization and make translation layers ready to emulate or cross-compile on some layer code and then you dont even know if the dedicated server really runs.

Sorry that topic in itself isnt "an issue" here, its an entire new project with many hours of work and expertise i simply dont have. I cant deliver something like this 😞 .

Are you okay with that answer and can we close this issue?

No, that is not rude in any way. I totally understand. I really appreciate you and everypne else looking into it though. I have so much respect to you people on open source communities.

Again, thank you for looking into it. For now my next course pf action is to actually file a ticket to the game developers and ask them if they can wupport arm64 officially.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

So chiming in a bit here:

  1. I can test on arm64 Linux and Mac when we get to where we're going.
  2. This is a UE5 based game. Building an arm64 server binary is literally a one-click option in addition to their Windows server build (I actually wrote the guide on how to do this). @RhanCandia if you want to point the developer to me I can help them do this. Also linking here for future: https://aws.amazon.com/blogs/gametech/compiling-unreal-engine-5-dedicated-servers-for-aws-graviton-ec2-instances/
  3. getting steamcmd up and running on arm64 shouldn't be too much work once we get the other pieces sorted. QEMU may work for this if we have to.
  4. i would highly recommend against QEMU for the server itself if we care about performance at all. QEMU emulation can be incredibly slow for things like this.

Hey @DDxPlague thanks for your contribution, if you can help out / chime in, that would be awesome.

@RhanCandia im okay with leaving this issue open, so you guys have a dedicated channel to get updates to each other.

Also regarding:

Thank you for the input. I tried posting on their official Discord but their issue/ideas channel is full. It's hard to get noticed in the chat. I can't find the right channel to post this request.

Their website is kinda hard to navigate. It's hard to find the right email address.

image

I think they have a LOT of their plate right now, it just freaks me out that they dont do like daily releases right now, no day0 or day1 patch not even day5 or so.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

This game has 1,5 MIO active players right now:
image
Them having server issue and people not be able to join, im HARDLY impressed by theese numbers, imagine how much that would be, when peole had a good server browser and could actually easy connect to servers 🤣

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024

I ran it. Feels okay so far. I'm not sure how reliable it can be in the long run. Right now, I'm only a single player in the server. I'm trying to invite over friends to test the load.

I wish the server flags were exposed as env variables though. There are also no server logs. So, I can't tell if there're are issue in the server.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

There are also no server logs. So, I can't tell if there're are issue in the server.

Well thats down to Pocketpair, even the Windows or Linux version doesnt give much 😢

from docker-palworld-dedicated-server.

luismaia-git avatar luismaia-git commented on September 17, 2024

I ran it. Feels okay so far. I'm not sure how reliable it can be in the long run. Right now, I'm only a single player in the server. I'm trying to invite over friends to test the load.

I wish the server flags were exposed as env variables though. There are also no server logs. So, I can't tell if there're are issue in the server.

Você conseguiu executar em um servidor arm64?

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.

Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

The docker image I linked above uses FEX too. Same Ubuntu image. I experienced a server crash on that image and it reset my and my friends progress.

But I saw Shockbyte customers experiencing the same. So I am not sure if it’s the image or the server binaries problem. No servwr logs so there’s really no way to tell.

Do let me know when you publish yours. I would love to test on my arm64 server.

from docker-palworld-dedicated-server.

Berodin avatar Berodin commented on September 17, 2024

The docker image I linked above uses FEX too. Same Ubuntu image. I experienced a server crash on that image and it reset my and my friends progress.

Well I don't know yet how the palworld dedicated server looks likes and works, but in normally you need a persistent volume mounted to the dockercontainer and configure the install process in a way that it uses existing data (save data, not then entire server) if possible.

from docker-palworld-dedicated-server.

BrunoDomenesDutra avatar BrunoDomenesDutra commented on September 17, 2024

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.

Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

Awesome!

I've been trying to set up and make a server work on OCI with arm for 3 days now. If you need someone to test it there when you make your configs, just let me know.

from docker-palworld-dedicated-server.

EmPiFree avatar EmPiFree commented on September 17, 2024

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.
Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

Awesome!

I've been trying to set up and make a server work on OCI with arm for 3 days now. If you need someone to test it there when you make your configs, just let me know.

It works with this image https://hub.docker.com/r/czy0612/palworld-server
But it lacks customization on docker image level. I also couldn't manage to change server settings, because the container always shuts down, when killing the PalServer process.

from docker-palworld-dedicated-server.

BrunoDomenesDutra avatar BrunoDomenesDutra commented on September 17, 2024

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.
Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

Awesome!
I've been trying to set up and make a server work on OCI with arm for 3 days now. If you need someone to test it there when you make your configs, just let me know.

It works with this image https://hub.docker.com/r/czy0612/palworld-server But it lacks customization on docker image level. I also couldn't manage to change server settings, because the container always shuts down, when killing the PalServer process.

For me it didn't work, maybe I'm doing something wrong.

Did you make any specific config to the VCN or to the Instance reguarding network config?

I created an Instance, intalled docker, pulled the image and run it, but nothing, wasn't able to conect to it

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

Working on an arm64 version, got it working with a very simple script, it's missing configuration and environment variables so I plan to publish tomorrow. The basic works though, steamcmd downloads the server, then it runs under FEX interpreter (emulator). I would PR but it's based off ubuntu:22.04 and incompatible with the existing steamcmd image.

Also, I might fork this repo and just add Arm64 support under it? Still thinking about it.

Would could add a subdirectory here and another github-action special to your use-case if you want, but im also fine if you want to fork and be the admin of the code yourself, because im not sure how helpful im right this second in this endevore of your arm research. But im fine either way with any decision you make ❤️. If you want to be your own repo-admin, maybe we could consider linking to each other? Questions questions questions 🤣

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

I ended up making a repo, I based the server management script off yours (oh and the README too)and also left links on the readme, if that's fine!

Sure! Nice!

I did not set up GitHub actions as I don't know much about these, ended up uploading the image using docker push

Im not a pro at this either, more like a slightly experienced newby. But if you want i can try to help you out.

If you want me to link your repo for whoever is using amd64 instead, I don't mind.

Awesome, lets do that.

It's also my first ever docker image, so if anyone spots anything wrong let me know or PR :)

I can do a review on your Dockerfile, but please be aware im using Docker almost 9 years, i have high standards and learnd a lot, we could do a Discord call and i explain why what is important if you want. Maybe on the weekend?

from docker-palworld-dedicated-server.

RhanCandia avatar RhanCandia commented on September 17, 2024

This is amazing. Thank you, guys!

from docker-palworld-dedicated-server.

HEROgold avatar HEROgold commented on September 17, 2024

@nitrog0d
I must say, your repo was nice and quick to run and my arm64 server is running quite smooth even, currently the only one playing but its been two full days without crashes, or major bugs.
(minor bugs sometimes where entities teleport a few meters etc, but that might be the game not the arm64 version, but I can't say for sure)

I hope it'll help this project with arm64 support

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

(minor bugs sometimes where entities teleport a few meters etc, but that might be the game not the arm64 version, but I can't say for sure)

Windows does that too 🤣 seems like the TickRate option "REDUCES" it but not fixes it.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

Im closing this issue as resolved, feel free to reopen again if needed.

If you like this project, please consider giving this repo and the docker-hub-repo a Star.

from docker-palworld-dedicated-server.

jammsen avatar jammsen commented on September 17, 2024

Hey @fogolin

Would you consider looking into it?

In what context do you mean that? I dont understand, sorry.

Don't know if it helps, but I'd prefer using this repo (with all the bells and whistles) over the other one cited here any given day.

Looking over the Dockerfile about a half-minute on either of them, purely from a review and safety perspective, they both use pratices which are considered "very-bad-practices".
@nitrog0d - Downloads with not hash-checks python-script that could be used as MITM as root. Thats quite dangerous, also SteamCMD yeah. 😅
@TeriyakiGod - Does that same but from Dropbox, which isnt a reputable source at all 🤣

They both have downsites and are welcome to ask me for a full review, if they want this.

Im doing this a long time, review Dockerfiles and approaches very often and im using Docker since 2015.

Not sure it thats what you asked @fogolin

from docker-palworld-dedicated-server.

nitrog0d avatar nitrog0d commented on September 17, 2024

@fogolin Really curious on what's wrong with my repo, care to elaborate further?

from docker-palworld-dedicated-server.

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.