-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile statically? - For Docker containers #263
Comments
Hi there, I fixed it by adding the I might do an Alpine version to allow at least xbase_00.iwd to be copied. |
sorry that nobody took the time to respond. could you fork the server and commit the changes? might be useful in future. |
Do you mean fork your repository? You can simply do that with For now the version I have is missing steam features:
It does not seem to see the files although they are there. It seems like it's a 32bit/64bit issue from using ldd. I will try it out on Alpine Linux instead of Scratch. Why are these steam*.so files needed? Thanks for your answer! |
you said something about trimming everything 32bit .. so i thought you did more than that. if the steam_api.so isn't loading i would assume that another dependency required by it is missing. you should be able to run the server without them. they are required to authenticate players. |
Oh, no sorry! As in the server runs on a 64 bit container but I it's still compiled in 32 bit I think. And do you know where I can find the source to compile steam_api.so statically perhaps? That would allow me to save on the Docker image space. Also what are the certificates in the |
ah alright, i would have been very surprised if it was compilable for 64 bit :D steam_api.so is closed source. what's the point of fighting for a few megabytes as the gamefiles require a few gigabytes anyways? i think the certificates are required to validate the identity of the update server. i would have to check to be certain. |
What would be the point of compiling to 64 bit? The performance is enough as it is now, right? If you run multiple servers in parallel or if your resources are limited, there would be an impact Docker-wise. For example my previous Debian image would use twice the amount of ram in comparison with the current Scratch one. It's also for convenience for other users to download (10MB vs 350MB). I'll finish polishing the Alpine image hopefully making the steam libraries working. |
i was referring to the static compilation of steam_api.so i get that scratch vs debian is much smaller, but i don't get why compiling steam_api.so should make a difference. |
Oh ok sorry for misunderstanding! I did a remake (not pushed yet) with Alpine Linux instead of scratch and everything works except Steam_api.so. Not a deal-breaker, but it would be great to have a fully working cod4x 😉 Again, thanks for your help and this wonderful project allowing to continue playing this (10 years old?) game! |
Hello again, I'm still redigging into the static compilation 😉 Compiling the cod4x server statically using this works, but it won't work with the Steam files and therefore the server won't show on the masterlist. After digging around making the .so steam files and cod4x_dedrun work without other dependencies , I have some questions:
Anyway, thank you so much for still maintaining this project and your help! |
Hi there !
I made a Debian Slim based Docker container with your server. I had to go the Debian way as your program needs
g++-multilib
to run. I would ideally like to run cod4x on Alpine Linux or even Scratch, but to do so, I would need to compile cod4x fully statically, without this g++-multilib dependency. Any indication on how to do that would be greatly appreciated ! If this is not feasible, a more narrowed list of runtime dependencies would also be appreciated !Thank you!
The text was updated successfully, but these errors were encountered: