Commit graph

16 commits

Author SHA1 Message Date
Daniel Ceregatti
d202482c6b Add strace and ltrace to the server image. 2025-03-24 17:06:28 -07:00
Daniel Ceregatti
a905435bfc Add support for detecting the version of the server. It's very ghetto. There must be a better way. 2024-05-29 01:42:38 -07:00
Daniel Ceregatti
abceedf9c0 Switch to bookworm-slim.
Remove unnecessary packages.
2024-05-19 14:12:30 -07:00
Daniel Ceregatti
088d5d3e51 Implement server restarting via messages.xml.
Trim down the container to only what it really needs.
Upgrade containers to bookworm.
Upgrade web's node to 20.
Add bercon to the web container.
Remove rcon from the server container.
Remove motd text from config.
Add roadmap and update docs.
2024-04-19 08:03:18 -07:00
Daniel Ceregatti
80adb60aa8 As of today, we have a release version! I can't believe it!
We no longer need to lower case the files.
Switch to the release server id.
Move rcon from the web container to the server container.
Handle .c files on a per-map basis.
Update per-map .c files.
2024-02-20 14:28:59 -08:00
Daniel Ceregatti
891096fb82 Add support for including changes to cfggameplay.json, cfgweather.xml, and init.c. 2023-11-13 20:19:27 -08:00
Daniel Ceregatti
788bac39a4 Add entrypoint.sh so we don't have to wait 10 seconds to down our stack.
Make scripts just run from each container's respective bin directory.
Upgrade to node 18.18.2 and nvm 0.39.5.
Remove unnecessary output.
2023-11-03 16:11:11 -07:00
Daniel Ceregatti
4c09ef752c Switch from CMD to ENTRYPOINT, then use exec in both start.sh scripts, so process id 1 can be the process it needs to be, as this is what gets SIGTERM on docker compose down.
We now get a .bashrc by default, so switch the logic to detecting the custom PS1 before putting it in .bashrc.
Account for a directory that steamcmd expects.
2023-10-12 21:52:33 -07:00
Daniel Ceregatti
f153f3db18 Use the local user's user id in the container when building and running, otherwise bind mounts don't have the correct ownership.
Correct output from steamcmd to avoid red herrings by creating a directory it expects as well as providing a shared object it also expects.
Update docs.
2023-10-12 18:44:37 -07:00
Daniel Ceregatti
b1448d8860 Add cfgeventspawns.xml integration!
Add quirk to handle upstream XMLs not having the correct nodes.
Add initial map install based on the map in the config.
Add package to allow for XML merging in the server container.
Add an environment variable that prevents the server from starting, to test mod XML integration at server start.
Back up logs into dedicated directories based on the date when the server exits.
Improve logic for copying XML files into mpmissions.
Fix status output formatting.
Get map name from the config at script start in the server script.
Refactor XML env scripts so they don't have a hashbang.
Refactor one mod's integration with the new file naming convention.
2023-09-09 11:02:24 -07:00
Daniel Ceregatti
899dba27e8 Remove gdb and strace, as we're no longer debugging in containers. Also remove python3-pip, as that's not needed here. 2023-08-29 12:05:51 -07:00
Daniel Ceregatti
29ce456543 Let's just use the store to do all reactivity.
Refactor the DOM to allow for "sections".
Add our start.sh scripts to /usr/local/bin in the image.
Add a config for Vue.
Remove globalproperties, as this...sucks.
2023-08-14 09:10:35 -07:00
Daniel Ceregatti
8db515313b Add mod search.
Renamed main container to web.
Added the STEAMAPIKEY environment variable placeholder, as this is necessary when searching for mods.
Refactor locations of scripts and paths.
Rename start scripts to be more consistent with their new locations.
Run the web server under nodemon to prevent manual restarting.
2023-05-25 17:32:58 -07:00
Daniel Ceregatti
ebf961bb73 Split off mpmissions so there's always a pristine version of it in the server container, for when we merge XML.
Forget xmlmerge. Switch to xmlstarlet.
Add the two shared objects required to get a release server running. This is just to get around having to host them/fish them up from elsewhere.
Update docs.
2023-05-18 21:09:01 -07:00
Daniel Ceregatti
2fc31fea37 The server doesn't like read only directories where it finds its files. Removing read-only flags from mounts for now.
Rework directories so there are fewer volumes within volumes.
Keep splitting up the code between the two scripts, removing unused variables, etc..
Add XML file merging integration. WIP.
Fix lack of comma in cfg file that _might_ have been causing issues...
2023-05-18 17:29:27 -07:00
Daniel Ceregatti
71004b4fcc Start turning this project into a provisioning system: The main image will manage the base server files and mod files, then run servers as separate containers with these volumes mounted read-only, so they can be shared across server instances.
Add command line xml merge tool for when that time comes.
Add Red Falcon Heliz mod as the work-in-progress for getting a turnkey system that merges many different XML files that a full server mod installation will require.
Fix finding a mod by index and use that for all mod operations.
Start re-working how mods are added/removed/activated/deactivated. Split the script up into separate files with distinct functionality. WIP.
Add a template system for handling mod XML files.
Add an express web server to be the provisioning container frontend.
Add lots of comments.
Add TL;DR for turnkey release server install.
2023-05-13 20:58:35 -07:00
Renamed from Dockerfile (Browse further)