I am new to mission creation and a scripting approach and my progress at learning has been good but looking to streamline what I am sure is a sub optimal process for loading new scripts and then testing those on live server. I am working on an A3Wastelands mission, now becoming increasingly customised it has grown from 6MB to sitting at about 10MB.
I will explain my current workflow and welcome suggestions about changes to that to improve cycle time from new script developed to tested on server.
Generate/modify new script - using Visual Studio Code - managing a local git repository to stage and commit all changes. I like the editor and combined with the git process is great to understand what you have changed, setting up for good rollback processes when it all goes skew. Some changes like syntax requires one set of brackets, edited in seconds.
Clone from git folder on local computer to new local location, but without the git entries folder - they add to much to a folder size for next step. (5 seconds give or take)
Generate local .pbo using .pbo manager to zip up the "gitless clone" copy of the mission. Compiling quick (10 seconds give or take)
Using Filezilla connect to my.gameservers (that is the host provider I am using). Get new .pbo into correct mpmissions location on server, ensure configs line up and restart server. (with variable ADSL internet speed can be 1-5 minutes to upload).
Restart server. (usually about 30-60 seconds to initialize server for login access from Arma launcher).
Reconnect to server with local ARMA launcher and start game. (usually 2-5 minutes to upload new mission files, establish client session)
Run server for period. Previous provider had a streaming log viewer functionality, new one doesnt, so using periodic log file (RPT) download, to then open log using GamutLogViewerProfessional. The line parsing, filtering in the log viewer is great, and fast, its just the continual download and lack of live streaming that has become annoying. Fast but repetitive.
Most testing involves cycling sub missions quickly, fast timings for new missions spawning and quick expiry, god mode to poke the missions for responses required, and attempting to use diag_log to set log messages for error/logic/expected response flaws. (time consuming and rpt file entry problems currently)
Based on responses observed in game or in logs, change code and return to step 1.
Things I know I dont know about, but had no luck finding answers yet - reference articles/sites would be fantastic.
I think I might need to get RCON skills - but again a little unclear if that helps me more as an administrator vs a code tester. The admin stuff isnt a big deal at present.
Live log streaming - seen evidence but dont have a solution in place for that at Gamerservers yet.
.pbo generation - previous host had an inbuilt capability to compile the .pbo on the server reducing the upload traffic and time considerably, is the best way to look at installing a .pbo generator on the server myself for this? Is that a big deal to implement?
git publish - seems more like publishing back to a public repository, wonder of i should be pushing to a local folder ie the one that wont have the .git folder, or could i git push to the server folder just the changes. No luck finding git answers to this myself yet.
I do not use the debug console within the editor or the server when running - i think i am missing something about the debug console concept it appears lined up to force only very simple issues. Again lacking reference sources to learn more on that.
For a complex mission with many scripts, are these something that can be tested in mission editor, or outside editor. I use editor for waypoints, additional buildings, manually generating mission routes that are then codified into sqfs., i dont test the sqfs in there yet, should I.
Server memory consumption appears to be an issue as restart intervals increase. Previous server could run for 24 hours and stay under 2GB memory allocation, at 48 hours be under 150% and then by 72 hours crash due to over commit. Rather than double subscription settled for 24 hour restarts. New host does not have this easy monitoring indicator so i think i need an additional piece of software to monitor. suggestions?
Anything else that I dont know, that I dont know about, sure there is heaps.
Finally, anyone who has had the patience to get his far through this monologue, i appreciate your time so far. Even if you only have a suggestion for 1 item in workflow or a comment on an opportunity I welcome your input. I did 6 months of pascal, fortran, basic programming, but i refuse to say how long ago that was..... So suggest i write up a new C# routine, that feels well beyond where I am at now. Server management is new to me, but sort of getting the idea of the Arma approach to server side, client side management.