Replies: 9 comments 40 replies
-
OK, making this to initiate updates, Looking forward to seeing where it all ends up. |
Beta Was this translation helpful? Give feedback.
-
Prototype for grouping main menu categories for readability. Possibly unnecessary |
Beta Was this translation helpful? Give feedback.
-
Progress report on automods: Arch Linux: working end to end I have added the ability to toggle automods on via the options menu, and restored the file picker dialog as a way of specifying an alternate download location in case /tmp is too small. (/tmp will be used as a fallback if something goes wrong). However, the alternate drive or path must be writable by the Also added a disclaimer when enabling automods about what to expect. With automods on, the process spawns in a separate window and requires minimal input from the user. After supplying a steam ID, it will prepare the parameters for headless invocation through steamcmd. However, if this is your first time running steamcmd, it will ask you to log in and (optionally) use your 2FA token if enabled. Valve generates a long-lived token when you log in to steamcmd, so it shouldn't be necessary to reauthenticate on subsequent times, but I haven't been able to reliably determine how long this cache lasts or what causes it to be overwritten. So after some days (?) or if you change users, you may be asked to log in again. But for the most part, once you set it up, future passes should be automatic. The only thing we ask for is the user's steam ID in order to kick off the routine and pass these parameters to steamcmd to tell it to look for the token. I didn't want to ask for any other credentials, even if masked, since the user might get the wrong idea. I wanted to make sure the user has to type it themselves into steamcmd so it is transparent to them what is happening. It can take considerable time to download mods if there are tons of large ones, but you don't have to do anything while it runs. When finished, the secondary window exits and returns you to DZGUI. If something went wrong, it will revert to manual mode for the remaining mods. We also generate an informational log of the process in case something needs to be reported. This took way longer than expected because Steam kept having a cloud sync problem and I wasn't able to launch DayZ despite everything in the pipeline seemingly working. I finally had to disable cloud sync (not sure why I needed it for a game with no saves). I will do integration testing on Steam Deck tomorrow and push a preliminary release. My expectation is that there will be some bugs. I plan to gradually whitelist more distros on an as-needed basis after the "big three" are supported. The good thing is that the mods are all downloading automatically, but we just need to get it to click together correctly with different environments. |
Beta Was this translation helpful? Give feedback.
-
I have a double-header of updates today: I got this idea to simplify the manual mod install process for those who can't or won't use the automod method. I created a process called DZG Watcher that opens the mods in Steam directly and prompts you to subscribe to them. When one starts downloading, it foregrounds the DZG Watcher progress bar and notifies you of its status. When it finishes and gets moved into the mods directory by Steam, it opens the next mod in the list directly and lets you subscribe to it. So essentially, you just keep pushing Subscribe and the progress bar foregrounds itself and tells you how far along you are (e.g. I believe this is something @SteveIDusa originally asked for, but there were some limitations to being able to implement it before. Now I noticed how simple it actually is within our current pipeline. So we don't need that annoying HTML page with links you have to click yourself. I think this is pretty good for someone who just wants to sit there and slap the subscribe button over and over again. Note that in order to foreground the notifications, you will need to install the tool Anyway, it appears to be working fine, as I only had to drop in the DZG Watcher process and not really change anything with how we set up and load the game. But hopefully this makes it way less cumbersome. However, using automods is still going to be preferable for those times you have 50+ mods to install (and just in general). If you do have problems, you can drop back to the Stable branch in order to get mods the old way. |
Beta Was this translation helpful? Give feedback.
-
@aclistHad a chance to use the new server browser today! Really like how you have implemented the auto-magical downloads! It literally walks you through it! My experience:
Do you think at some point you will be able to auto download the entire list with a single click or? Either way, it is still a very nice feature to see implemented, and if you ask me not really any different than the original launcher, just more explicit in what it is doing and I for one like it like that. Great Work! |
Beta Was this translation helpful? Give feedback.
-
@aclistJust ran into an issue that you might want to consider. Attempted to login to a Deer Isle map today after the 1.19 update and got a Data Mismatch Error. Now, I know that this has nothing to do with DZGUI, and that I just have to wait for the server to get updated so it has the correct version of the mod since it told us our client version is newer than the the server version. However, As I was thinking of how I might help the server owner, since we are members of their discord, it occurred to me that you had added listing the mods from within DZGUI. So on that thought I figured perhaps I could get the version number for the mod I am running to provide it to him so he could check it against what he is running and ensure to get the correct version installed. But a version number was not available in DZGUI. I am not sure if that would actually be useful, as I know that the client side updates automatically when a mod gets updated. So perhaps that is the case with the server as well? If it is, then this is all mute, but it was something that I might be able to provide as assistance. Would having a version number next to the mod name in the list be something that would be useful? Something even possible? Or just a waste of time considering it is possible that they get updated with a Steam Restart? |
Beta Was this translation helpful? Give feedback.
-
Great question. Your assumption is exactly correct. There's actually a manifest file located in To force redownloading everything, you'd have to replace the timestamps listed in that version file with something invalid (e.g. 0000). Simply deleting this file won't do it, as if the file is absent, we assume auto installation has never been run before, so we just take the local mods installed at face value and don't update them. (Sort of necessary for bootstrapping the version file, otherwise we'd have to force you to redownload every mod you have the first time you enable automod mode, which would be a lot of mods, and probably pointless.) So in lieu of modifying that file yourself, I could see there being a menu option that just blanks out this file for you at a click and then triggers an update if you wish to "refresh all" mods. Unfortunately, the mods themselves don't contain valid information in their folders. The "version timestamps" listed in the mods are just the timestamp when the mod was created on the developer's local computer, not the time it was officially uploaded to the Steam CDN, so the timestamps inside the mods themselves are useless as version identifiers.
I've actually been having severe degradation of apparent download quality on Steam recently as well, not related to DayZ, but just globally. My hypothesis is that some downloads are being fetched in hunks and aren't just linearly downloaded, but files get extracted in atomic pieces partway through the process, at which point the download speed ramps down while it performs actions on disk, then after extraction, the download actually resumes and ramps up. This seems to happen when preparing shaders as well. Another thing you can try is changing your download location in Steam's settings menu to an alternate region. Generally the speed shouldn't be affected, even if it's a less proximate region (downloading is not really latency bound here and all of the servers use a fat pipe).
I guess what I am trying to say here is that the concern over this element in particular is unfounded, because if it wanted to, the DZGUI application itself could delete your entire hard drive. xdotool just moves the mouse and keyboard around. When using a script like this, you are putting implicit trust in the process, and as a testament that it does what it claims to, the code is provided open-source on the repository so that you can audit it if you choose to, or you can reasonably assume that the code has been audited for anything nefarious by the other large numbers of users looking through it. But as with anything, it's provided on an as-is basis. If you don't audit the code yourself (which is reasonable), then you are trusting that, by virtue of it being open-source, there's no way for nefarious activity to be obfuscated in there. The full source of the C binaries we use to calculate geolocation is also included in the repository. DZGUI already downloads files and creates/deletes directories, sends launch parameters to Steam, checks the Internet for latest version info, etc. If you don't like the feeling of a "ghost in the machine" that visually interacts with windows onscreen, manual mode is indeed an option, although a better way of clarifying this for yourself would be searching for "xdotool" inside of the script and inspecting the lines in which it is invoked (total of 6 lines):
In answer to your question, both manual and auto mode currently use xdotool. Manual mode at a minimum uses it to raise the progress window when mods are downloading. (We were previously using wmctrl, another generic tool bundled on most systems that can be used to raise/focus a window.) |
Beta Was this translation helpful? Give feedback.
-
Just got the update to 3.1.0-rc.16. After download, when attempting to run it, get a "Requires python >=3.0" error. Current python version is very much newer than 3.0. Not sure if you have run into this, so thought I better let you know. |
Beta Was this translation helpful? Give feedback.
-
@SteveIDusa Hi, hope you are well. Due to a lack of interest/need from users for a dedicated discussions area, I am archiving this channel. Please direct future correspondence, if necessary, to the Issues page. |
Beta Was this translation helpful? Give feedback.
-
Discussion of features-in-progress on the testing branch that do not explicitly fall into the category of bug.
Beta Was this translation helpful? Give feedback.
All reactions