Commit graph

53 commits

Author SHA1 Message Date
Daniel Ceregatti
3ae7bc4454 Stop doing stupid shit. 2024-06-30 11:53:27 -07:00
Daniel Ceregatti
8cf493e8d5 Fix bug where upstream files were not being copied to the correct location upon server start. 2024-06-28 20:56:57 -07:00
Daniel Ceregatti
9fb3504bac Ensure that the mpmissions being used has all the files we need. Some don't, like Namalsk, which lacks cfggameplay.json.
Account for default ports. Another consequence from the bad merge.
2024-06-27 14:34:21 -07:00
Daniel Ceregatti
ed2b9499a2 Fix unaligned text. 2024-06-22 12:52:35 -07:00
Daniel Ceregatti
269f62cd72 Fix lack of STEAM_PORT in env. This was an oversight from a bad merge. 2024-06-22 12:49:00 -07:00
Daniel Ceregatti
bd8dac6d98 Make the Steam query port configurable. This is to prepare for other feature branches. 2024-06-21 14:04:58 -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
5eddab9abb Unset the DEVELOPMENT environment variable in .bashrc to make my life easier. 2024-05-29 01:39:47 -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
f6aa92d945 Implement key copying as a factor of starting the server.
Only copy extra files from mod integrations, not ones that are handled already.
Add 'all' for deactivation argument to allow a quick reset of the mods.
Restore generic server name in the config example.
Update docs.
2024-03-28 08:06:19 -07:00
Daniel Ceregatti
93f65760ac Remove version from docker compose, as it seems this is obsolete.
Get status from a different file, as the previous file's stats were changing, and therefore unreliable.
Add Namalsk maps to config.
2024-03-22 23:10:21 -07:00
Daniel Ceregatti
2754028504 Fix status command. 2024-02-23 20:26:11 -08: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
5918646eb0 Add custom integration for disabling the personal light. This gets turned on despite what's set in serverDZ.cfg because it's overridden in cfggameplay.json.
Add wipe command, to allow for easy wiping of storage.
Remove cfggameplay case-sensitivity hack, now that this is fixed upstream.
Continue documenting the vanilla installation instructions for Hype Train, for some reason.
2024-01-18 11:40:19 -08:00
Daniel Ceregatti
cd308e1f96 Fix cfgGameplay.json hack.
Update docs.
2023-12-24 11:19:09 -08:00
Daniel Ceregatti
40f31d0b14 Implement start scripts to do all the extra stuff, like remove nodes from XML files.
Add WinterChernarusV2 mod's init changes.
2023-12-22 10:04:25 -08:00
Daniel Ceregatti
d1d3069500 Add Diesel Jerry can mod. 2023-12-21 16:02:39 -08:00
Daniel Ceregatti
1554520704 Update Winter Chernarus (Deer Isle, Livonia) metadata from updated instructions.
Add cfgGameplay.json hack.
Fix JSON formatting.
2023-12-15 22:13:20 -08:00
Daniel Ceregatti
3a5bb797ea Remove the retrieval of MODNAME in custom integrations. 2023-11-27 20:59:24 -08:00
Daniel Ceregatti
5783f74075 The installation instructions for Winter Deer Isle have changed. Merging. See https://steamcommunity.com/sharedfiles/filedetails/?id=1891132304.
Make it so the DEVELOPMENT environment variable doesn't prevent the file actions when DONT_START is set.
2023-11-17 18:00:30 -08:00
Daniel Ceregatti
611b67e9ee Add custom integration for changing spawn gear. WIP. 2023-11-17 09:16:20 -08:00
Daniel Ceregatti
511cc5e982 Remove return call that was not supposed to be committed. 2023-11-16 21:09:50 -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
f87b26239f Make development happen first.
Go back to sleeping the old way.
2023-10-18 14:43:04 -07:00
Daniel Ceregatti
499d92e179 Start handling cfgenvironment. WIP.
Exec out to sleep so the container stops correctly.
2023-10-17 17:16:44 -07:00
Daniel Ceregatti
dd685a86fb Stop running sleep in a loop when blocking. Just sleep for a very long time. 2023-10-15 12:17:08 -07:00
Daniel Ceregatti
a3f062799c Add support for acitvating/deactivating multiple mods at once. 2023-10-15 11:25:38 -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
9513fc4d97 Add support for custom integrations. The first is no food, which makes a new types.xml of all the food class items for use with CE, then sets nominal to 0 in all entries.
Have server logs go into a logs directory, with sub-directories in there with the date to contain that run's logs.
Fix XML handling output.
Update bogus DayZ version.
Add custom integration docs.
2023-09-28 15:39:13 -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
e6a381315f Fix lack of root node in XML when normalizing.
Refine output to only show relevant info when starting the server.
Filter mod integration by current map, even if other mpmissions directories should exist.
Remove previous cfgeconomy directories when starting, to prevent previous files from possibly existing.
Orchestrate the retrieval and normalization of XML files as 'dz x ID' now does both.
2023-09-08 12:13:29 -07:00
Daniel Ceregatti
887374587d There are no mpmissions in the server container when it starts for the first time. Ensure Chernarus is copied over as a default when this is detected, as the server is expected to start successfully. Presumes a default config where the map hasn't been changed.
Make development work by setting an environment variable.
Set the web container to restart instead of not, should the express server crash.
Copy XML files that are merged when the server  starts only when the mpmissions directory exists.
Refactor XML functions for better naming.
Handle display of lists when no mods are installed.
Add support for adding mpmissions for Deer Isle and mpmissions in general via mod integrations.
Add support for Red Falcon Watercraft XML files. WIP.
Add a deer isle DayZ bicycle spawn file.
2023-09-07 12:08:12 -07:00
Daniel Ceregatti
5db38636c4 Install chernarus in mpmissions when it's not detected, to retain turnkey functionality.
Update docs.
2023-09-05 17:51:07 -07:00
Daniel Ceregatti
ad2f547845 Refactor function name so it's different between web and server containers.
Fix typo.
2023-08-31 17:05:57 -07:00
Daniel Ceregatti
65840a79c5 Refactor everything the relies on getting a mod by index in a listing. This had to account for context such needing to maintain mod ordering when starting the server.
Moved a lot of the functions out of scripts and into common and consolidated.
Fix some output formatting.
Make key copying only happen in a server.
2023-08-30 18:08:08 -07:00
Daniel Ceregatti
c48f0d60ff When creating symlinks, remove more than just spaces from mod names, again. 2023-08-25 18:08:55 -07:00
Daniel Ceregatti
1de1fe8b6b Fix call to bogus function.
Fix equivalent of bogus function.
2023-06-16 18:26:24 -07:00
Daniel Ceregatti
2395f43024 Move this to the correct script. 2023-06-16 17:13:09 -07:00
Daniel Ceregatti
2d2cf6ba35 Ensure the WORKSHOP_DIR exists when we run. 2023-06-16 17:11:37 -07:00
Daniel Ceregatti
4a6427f893 Add Pinia store so we can have disparate components.
Add Vueuse core library for useFetch.
Get async requests working with the above.
Start using Vue's Suspense feature.
Make Status its own component.
Start adding search results.
Continued work on error modal.
Add CORS headers to the backend.
Remove error store, as we only have one store.
Rename favicon.png to favicon.ico.
Remove functions from scripts where they are not used. Move functions to where they are used.
Lots of WIP.
2023-06-11 18:20:14 -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
5267ae70bb Add web UI. This has lofty goals.
Use node js module syntax.
Make dev easier by not starting the web UI from docker startup.
2023-05-24 23:40:44 -07:00
Daniel Ceregatti
fb3a575662 Remove TL;DR, as we no longer have a release.
Remove the two shared objects that were necessary for running the release.
Restore the merging of XML at server start.
Adjust layout of list output to accommodate longer mod names.
2023-05-24 15:43:55 -07:00
Daniel Ceregatti
f755b6fe6d First version where XML merging is working using the cfgeconomy method!
Split up the XML wrangling between the two containers. This means the web one needs xmlstarlet.
2023-05-20 20:07:47 -07:00
Daniel Ceregatti
3a41001b9f Remove debug. 2023-05-20 00:00:59 -07:00
Daniel Ceregatti
2c47f36660 Oops, not sure how that ended up in there. 2023-05-19 23:42:38 -07:00
Daniel Ceregatti
92f9598910 WIP XML merging. Handle files without XML document node, as well as without their root node. This means we need a matrix of what file has what root node AND the names of the child nodes! 2023-05-19 23:41:34 -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