24 Commits

Author SHA1 Message Date
David Wolfe
9ce202da7c [Arma 3 & DayZ] Fix SteamCMD error checking (#276)
* Fix SteamCMD error checking

Added `libcurl` as an excluded keyword for error checking. Was causing mod-timeout errors to be misreported as an unknown error.
2024-12-20 11:39:17 -08:00
Matthew Dangerfield
681ffc488d [Arma 3] Added RPT logging (#253)
- Adds RPT logging (logs will be located in `/home/container/serverprofile/rpt/`, but only if `-noLogs` is not used as a startup parameter)
- Fixes edge case where clearing HC cache on first boot may fail due to a missing `serverprofile/` folder.
2024-07-07 16:24:02 -07:00
Red-Thirten
efc8507ae1 Update maintainer email address 2024-07-03 23:51:46 -07:00
Red-Thirten
6bb8c6fb29 [Arma 3] Fix SIGINT not getting passed to server (#212)
* Add Tini to Arma 3
* add forgoten tini to Python 3.12


---------

Co-authored-by: Quinten <67589015+QuintenQVD0@users.noreply.github.com>
2023-12-19 09:51:19 +01:00
Red-Thirten
54276f702f Fix Bookworm specific packages
If we are going to lock the base image to Bullseye, we need to put the original libtbb2 packages back.
2023-06-17 19:37:14 -07:00
Michael (Parker) Parker
1abfb801ea update debian images
rolls the debian images back to debian bullseye while bookworm is evaluated
2023-06-17 18:34:59 -04:00
Red-Thirten
4310c0902c Fix SteamCMD unknown error & improve logging
- Lastest SteamCMD update throws new steamservice.so error that does not seem to affect downloads, so we will ignore it.
- Now prints found unknown error/failure logs to the console if they occur for easier debugging.
- Updates `libtbb2` to `libtbbmalloc2`, as `libtbb2` has been depreciated.
- Fixes error message coloring for certain error messages.
2023-06-17 14:33:57 -07:00
Red-Thirten
5742a2b8d8 Hot Fix Intermittent SteamCMD Failure & Improvements
- Fixes current issue where SteamCMD will intermittently present a "Failure" error when downloading Workshop mods due to a corrupt cache file.
- Replaced hard coded workshop directory path with a variable.
2022-11-29 11:17:22 -08:00
Red-Thirten
2ba5155100 Dockerfile - Tabs to Spaces 2022-11-29 11:09:27 -08:00
Red-Thirten
38ec9eb9dc Change entrypoint.sh to run SteamCMD on one CPU
- Utilize `numactl` to force SteamCMD to run on only one CPU which resolves its current crashing issues on Debian.
- SteamCMD now complains about thread priority due to it failing to properly load `libSDL` (`libSDL` is included in the image, but will not load properly if it is not installed on the host due to it containing a kernel extension). Therefore, any warnings regarding threads will now be ignored.
- If SteamCMD fatally crashes, copy the directory where it saves its dumps (`/tmp/dumps`) to `/home/container` for easier debugging access.
2022-11-26 22:38:19 -08:00
Red-Thirten
7b44c28077 Add numactl to Dockerfile
Adds `numactl` package so it can be used within entrypoint.sh.
2022-11-26 22:28:27 -08:00
Red-Thirten
c4c9556772 Fix --platform FROM flag in Dockerfile 2022-05-22 19:15:05 -07:00
Red-Thirten
e750a642c9 Arma 3 Image Cleanup & Refurbishment
Files:
- Remove dependency of having `libnss_wrapper.so` libraries directly in the image. Instead, use the libraries provided with their respective packages. This fixes the current 32-bit version being broken and ensures the libraries stay up to date with their respective packages.
- Slight change to passwd.template to accommodate variable name change.

Dockerfile:
- Change the base image to Debian, which from testing appears to run cleaner and faster for Arma. It also should yield a smaller image.
- Fix depreciated `ENV` call format.
- Removed un-needed packages.
- Added iproute2 package.
- Consolidated the NSS Wrapper setup to a commented group of lines to make understanding it's purpose and setup more clear.
- Added shell flag to `useradd` command.

Entrypoint:
- General cleanup.
- Changed `LD_PRELOAD`s to point to package-provided library file locations.
2022-05-22 17:35:03 -07:00
Alex
cd6b949868 fix: invalid INTERNAL_IP environment value
New IP route output appends UID to the result, causing the value to be set to that instead of the IP. Fix it by ignoring the last two appended UID results
2022-04-24 18:10:20 +03:00
Michael (Parker) Parker
2252e1d37b Merge pull request #49 from IAmSilK/feature-arma3-optional-mods
Add optional mods environment variable to Arma 3 image
2022-04-22 08:00:53 -04:00
Alex
b99d99e233 feat(arma): install tzdata
resolves #50
2022-03-26 17:41:49 +02:00
IAmSilK
e79e8cdd4d Ensure optional mods files are deleted after downloading and keys are removed if an optional mod is unconfigured 2022-03-25 01:50:24 -03:00
IAmSilK
1769dffa31 Add optional mods environment variable which allows for downloading mods without requiring them from clients 2022-03-23 19:39:55 -03:00
Red-Thirten
ac894c3267 Arma3's entrypoint.sh SteamCMD fix
SteamCMD apparently put an update out today that now displays a warning if `+force_install_dir` is after `+login`. This removes the error from appearing.
2021-11-19 19:29:31 -08:00
Red-Thirten
577d18ce26 Arma 3 - Small Bug Fix
- Fixed RemoveDuplicates function adding an extra trailing semicolon if the input string is empty.
- Added Aussie Server Hosts as a credited contributor for help and ideas on the project.
2021-07-13 23:24:28 -07:00
Red-Thirten
4b47c04777 Update entrypoint.sh
- Moved the mod movement, lowercase command, and key movement to the "success" portion of the SteamCMD function to prevent the code from trying to perform these actions on failed mod downloads.
- Changed some of the echos to print this process more cleanly
2021-07-13 12:19:12 -07:00
Red-Thirten
1811271a68 Update entrypoint.sh 2021-07-12 19:57:34 -07:00
Red-Thirten
06ca1edce7 Added Arma 3 image files
These files originate from https://github.com/parkervcp/images/tree/game/arma3 which is currently hosted at quay.io/parkervcp/pterodactyl-images:game_arma3
However, the entire image has been mainly rewritten in this update, which includes the following changes:
- Code styling / nomenclature has been normalized across the entire file.
- A robust RunSteamCMD function has been added to run SteamCMD with advanced error handling and reporting. Works for both the server and mods, and is configurable with the STEAMCMD_ATTEMPTS environment variable to specify how many times it should retry a download after a recoverable error (like large Workshop mod downloads timing out).
- Added support for a MOD_FILE environment variable, to specify an exported Arma 3 modlist HTML file for import into the server (for downloads and runtime). These mods are combined with any mods listed in MODIFICATIONS.
- A more robust and automatic way of downloading/updating mods is now included with the UPDATE_SERVER function. All mods to be used during runtime are checked for updates by comparing local file's creation dates against the mod's Workshop page last update. This allows for fast and reliable mod updates compared to the old manual system, and allows users to comfortably leave the update server function on all the time if they'd like.
- Added a RemoveDuplicates function to prevent a user from accidentally loading a mod twice.
- Checks for missing, trailing semicolons in manual mod lists due to human error.
- Mod update information echos are less cryptic and now use the mod's human-readable name, as well as printing the date they last updated.
- Made the server binary check error messages less cryptic and provided solution recommendations.
- Added a CLEAR_CACHE env. var. function to delete headless client profiles on startup to help with potential issues they cause.
- Un-hardcoded the basic.cfg URL and replaced with env. var.
- Added HC_HIDE env. var. to prevent headless client console spam.
- Added VALIDATE_SERVER env. var. to manually validate, because the new automatic update function skips validation to speed it up.
- Added CDLC env. var. for easy download of Creator DLCs incase the user doesn't know how to use SteamCMD beta branches.
2021-07-12 17:01:41 -07:00
Red-Thirten
cc01ed7599 Create README.md 2021-07-12 16:56:17 -07:00