I’m new to making mods for ARK, but I’ve got a background in computer science. I’m used to proper version control, development environments, staging environments and production environments as well as ways to track bugs/issues. Going from that environment to releasing a mod on the Steam Workshop has been a bit of a rude shock and I’m wondering (hoping!) that I’m missing something and that there is a better way I could be doing it. I was hoping someone could share information about things like:
What is the best way to do proper versioning for an ARK Mod? Currently with each new release on the Steam Workshop I am copy/pasting my mod’s ARK Dev Kit folder with the .uasset files into a Version X.X folder, along with the ‘cooked’ content that downloads automagically via Steam to my local install of ARK. Is that enough? Is there a way to automate that or to integrate with a tool like git?
Is there a way that I can cook my mod and share it with a select number of server admins and their players without it going to anyone? For example, my mod is working fine for 90% of players but 10% are having an issue. When I find a potential fix for a problem that affects a small number of people is there a way I can let them try a different version and tell me if it helped, or not?
If I make a release and it BREAKS the mod for a large number of people, what is the fastest way to revert to the last working version? Is there an option within the Steam Workshop? Would copy/pasting my .uasset files from an earlier version into the Dev Kit and recooking/republishing it do the trick?
What is the best way to handle user issues and the bugs they find? Currently I am trying to use the comment and discussion features of the Steam Workshop but I’m finding that everything goes into the comment box the user finds first… I’m getting new feature ideas in my bug reporting thread, bug reports in the general mod comments section and then people asking non-mod specific questions in the above places too… Has anyone had much luck with a structure for their mod page on the Steam Workshop, or with using a 3rd party tool for this stuff?
What is the proper etiquette for releasing mod updates? My experience while running an ARK Dedicated Server is that when a mod is updated the clients will receive the updated files immediately upon starting ARK. While the server must be updated manually. When the client has a newer version of the mods they just cannot join the dedicated server until their mod versions match. In the meantime that player is unable to join their normal server or play with their tribe until the server admin has a chance to update the mod files. Is it a no-no to release mod updates too frequently? Are there days of the week that mod updates are more acceptable or better received? Is there a way I can notify server admins when an update is coming so that they can at least expect it and plan for it? Or do updates have to remain a surprise that takes place on whatever timetable I choose?
Are there any tips or tricks that you have discovered that have made developing a mod easier or harder? Please share!
Sorry this has gone on for so long. Like I said at the outset, I hope I am just missing something and there are some easy answers to these questions. I’m looking forward to your replies
I have solutions for a few of these, but saddly I’ve been terrible and haven’t established version control. I simply make small changes and test live each time…
The best way that I have seen is simply to give an approximate ETA on your mod page or set a scheduled update time so server admin will know approximately when to update; however, the mod content depends on whether it will look players out of outdated servers. My mod when outdated will not lock you out of the server, but rather wont let you place any of the items within any mod on that server. I’m not entirely sure what leads to this difference but i believe anything that changes the map (as the client defines it) will lock players out of the server.
I have my discussion set up as Admin Codes / Bug Reports / Feedback and Requests… and i use the comments section as general discussion and update announcements, but saddly I’ve yet to see an instance where the users actually utilize this format no matter how many times or ways you try to direct the traffic there, You are able to merge threads and such but that is only a partial solution and only applies to certain cases. Generally I would not worry TOO much on this factor as most of the people that will have a REAL input on any of you discussion will find the right place to put the information. Common complaints and questions will always be left wandering across every board.
I found this out unintentionally, but if you hit the “Reset Publisher” button after you have already uploaded the mod the first time you will be making it posted as a brand new mod page on the workshop for future uploads (they will all upload to the same new one). Well i took this happy mistake and I now upload the mod to that second location so that I can test it live on the client as a hidden workshop page. You can also set this to friends only and add the server admin to your friends list so that they can use it as well, but I am not sure their server population would be able to play the map until the visible version is up, since everybody is auto-subscribed when a server loads a mod. After you have uploaded this “test version” you can manually upload the last cooked mod version to the correct workshop page by using the steam cmd. in order to do this find the EpicGames > ARKDevKit > ModTools > SteamCMD. You will need to copy the vdf file from the ModTools > ModConfigs folder to the steamCMD folder and set the information you wish to display for your mod, most important here is setting the correct publishedfileid (Mod ID) as this will tell the CMD what workshop page to update. Once you have copied the VDF and set the information use the SteamCMD.exe > enter “Login [username] [password]” > enter “workshop_build_item [filename].vdf” > enter “quit” . This completes the process, check your workshop page and make sure the update went through correctly.
Hello Sleepy welcome to the Ark Modding Community, I will try to help answer your questions in the best way I can:
Currently the only way to test your mod in live situations (best to my knowledge) is cook your mod, upload it to steam, subscribe to your mod, and then load up Ark so it will download your subscribed content. Then from there you would host a local singleplayer game and test our your mod content accordingly. Otherwise if you want to test your mod within the devkit best practice is to set your devkit’s play settings correctly. Make sure to have the “Run Dedicated Server” option checked, this will tell the game to run a dedicated version of the game rather than make the host and client on the same preview. (This is the best way to test your mod before cooking)
You can set your mods to “Hidden” or “Friends Only.” If you set your mod visibility to Friends Only, as the name implies only yourself and friends will have access to the mod and be able to subscribe to it and test it with you. I think I’ve seen some modders we’re able to attach a license of some sort to their mods so maybe another modder can shed some light in regards to licensing mod content. If you want people to try different versions then you would need to make copies of your mod and upload separate steam workshop files.
Unfortunately, unless you keep a backup before every major revision you do in the devkit before saving/cooking then there’s no way (to the best of my knowledge) to revert/undo your changes. In cases where things break and people are freaking out on you, it’s best practice to inform everyone you are aware of the situation and you’re actively working to fix it.
Typically most modders create sub discussions on their workshop files to help users funnel bugs/reports in a more orderly fashion. You can also try using external tools like Trello or your own website to provide support for your mods.
A lot of people get really annoyed if a mod is updated more than once a day I’ve noticed. The end user who plays singleplayer won’t be affected by mod updates as it’s streamlined to their client. The more concerning player base will server admins/owners who manage mid to large size server populations who get a lot of backlash for restarting a server more than once in a day. There isn’t a system in steam that notifies when a mod update is released in a workshop, you will get a automatic download titled “Ark: Survival Evolved Workshop Content.” So essentially you choose when you want to update, I’ve seen some modders make a mod update release schedule where they would dictate a specific day in the week is when they will update the mod. (Unless a immediate bug fix is necessary)
Organization is key, make sure to keep your files and folders organized or else you can get lost in the sauce. It helps a lot to learn about the Property Matrix option you have available in UE4 which allows you to edit multiple files at the same time.
I hope these answers help you with your journey on modding!
Thanks for the detailed reply, I really appreciate it!
I considered maybe duplicating my entire mod folder and calling it something like CompoundBowPlusPRIVATE or something like that and trying it out - but I wonder how many server admins would be okay with deliberating locking their players out, and the reboots it would take to both add and later remove the private version of the mod… I would also hate for a lazy server admin to not switch back from the PRIVATE version of the mod (hey, everything is working now, why bother changing it back?) and then running into dramas later when I’m maybe updating it frequently in relation to a new issue. I wish there were a cleaner solution, but thanks for sharing your workaround. I think I will give that a try with an issue I’m currently trying to resolve.
For this reason I have my mod as hidden, and I have a few people that have offered to test it live, but wouldn’t offer that to every server admin. However, its an all or nothing, if they are on the friends list they will be able to use it… but would be at their own risk type thing.