Ludeon Forums

RimWorld => Mods => Releases => Topic started by: Kiame on June 01, 2018, 12:13:30 AM

Title: [1.3] [KV] ModSync RW
Post by: Kiame on June 01, 2018, 12:13:30 AM
Find out when there are newer versions of a non-steam game available.

Consider this a spiritual successor of ModSync.ninja (which should be disabled before use). The main difference being that this is not centralized; thus no cost to run. This leverages hosting sites like Github, from which versioning information can be pulled.

Requires the mod's author to create a ModSync file and update the version number as new versions are released.

Initially there will be few to no mods listed in the ModSync window. Over time as developers adopt this more will show up. Also, only non-steam mods will ever be shown since steam mods will automatically stay up-to-date.

Mod Authors: Instructions to create a ModSync file

Hosts:
Note: Currently Direct, Github, and Gitlab as a host are supported. Here are pages with instructions on how to fill each form of host out:

Additional Notes:


Translators:
-frenchiveruti - Spanish
-kaptain-kavern - French

Thanks:
-StickieBE - Added BitBucket support


Original Idea was from ModSync.ninja by historic and z_jasmi

Steam (https://steamcommunity.com/sharedfiles/filedetails/?id=1399727830)

Direct Download:
1.3 (https://github.com/KiameV/rimworld-modsync-rw/releases/download/current/ModSyncRW.zip)

B18 (https://github.com/KiameV/rimworld-modsync-rw/releases/download/B18/ModSyncRW.zip)
B19 (https://github.com/KiameV/rimworld-modsync-rw/releases/download/B19/ModSyncRW.zip)
1.0 (https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.0/ModSyncRW.zip)
1.2 (https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.2/ModSyncRW.zip)

Github (https://github.com/KiameV/rimworld-modsync-rw/)

(https://steamuserimages-a.akamaihd.net/ugc/928185288339427547/BF74D4CECCE4A0C38F0EEF396DADED536F47286D/)

(https://steamuserimages-a.akamaihd.net/ugc/928185288339427720/DD98F45CBBC8A24CECE748152BC9C527BEE8F33E/)



[ For Modders ]
(https://steamuserimages-a.akamaihd.net/ugc/928185288339457378/7F0EF6ED4F1AC062ED71DE0CB6D15376F84015DA/)
Title: Re: [B18] ModSync RW
Post by: Nightinggale on June 03, 2018, 07:12:59 PM
We have such a great new tool, which brings version control without relying on a single person/server and yet nobody replies  ???

I just released ModCheck 1.7 and naturally it comes with ModSync RW support. Now we need to see other mods adding support as well.
Title: Re: [B18] ModSync RW
Post by: Kiame on June 03, 2018, 07:23:57 PM
 :)

My current plan is to plant the seed - release the mod - get feedback for a few weeks and as RW 1.0 is coming start a greater push for devs to pick this up as they release for the final game.
Title: Re: [B18] ModSync RW
Post by: historic_os on June 03, 2018, 10:24:33 PM
it's too bad that mod version sync did not become the norm in RW. I think that players are missing out on a lot of great new features and bug fixes in mods. for developers, it dosent feel great knowing users of your mods are not seeing the fruits of your hard work.
obviously, we've talked about all this with no luck with modsync ninja. I hope you are correct by assuming RW 1.0 will bring a wave of new players and mod developers who will find it important.

as per ModSync, I've said before on the other thread and gonna bring it up again to push it - please support none github mods.
the ideal solution will be to query this specific forum.
have the information stored in the mod forum message. if it's too ugly, there are many ways to hide text here I've tested during the development of modsync ninja from extremely small invisible text to keeping the text in an image URL (as I ended up doing).

the forum is a common ground to all mods and I think should be prioritized as a sync method. I've noticed that you created a sync factory, I can implement that forum agent if you want, but I wouldn't have time to do it anytime soon. so, if you (or anyone else) can pick it up it would be great!


p.s. with modsync ninja all updates were stored on the database, so I could check if any update between local version and latest was "save breaking" for that flag. since you don't have that version log how does the feature work now?
Title: Re: [B18] ModSync RW
Post by: Kiame on June 03, 2018, 11:54:24 PM
What other hosts beyond github is desired? I've tried to make it as easy as possible to support new ones. TBH it'd take me all of an hour or two to get a new one up.

As stated above, a host just needs to have the About folder accessible externally and a page from which the mod can be downloaded.
Title: Re: [B18] ModSync RW
Post by: Kiame on June 04, 2018, 12:17:55 AM
To that end i realized i should have included a direct means to point to each piece specifically.

Adding a 'Direct' page in which developers can paste the specific uri for the About.xml, ModSync.xml, and Download page.

While this can be used for github and many other pages, it's not as dynamic

Edit: It's good to have a day away from the code... cleaning up with some refactoring  :)
Title: Re: [B18] ModSync RW
Post by: Kiame on June 04, 2018, 01:30:52 AM
Update:
Added another means by which developers can link to their mods: "Direct"

With Direct, all that's needed is the uri to the raw text About.xml and Download page. After the ModSync.xml is created put the ModSync.xml file into the same host directory as the About.xml.

Added links to wiki pages that go into more details on creating/updating the ModSync file via Direct and Github means.
Title: Re: [B18] ModSync RW
Post by: Canute on June 04, 2018, 02:44:32 AM
Quote from: Kiame on June 03, 2018, 07:23:57 PM
:)

My current plan is to plant the seed - release the mod - get feedback for a few weeks and as RW 1.0 is coming start a greater push for devs to pick this up as they release for the final game.
I hope some of them notice it.
Did you test it, if it works fine with the Workshop. Not that i use steam, but if it got a conflct with workshop the devs won't integrate a versions checker.
Title: Re: [B18] ModSync RW
Post by: Roolo on June 04, 2018, 03:29:39 AM
First if all, I'd like to say you did an amazing job and created a great tool. I highly value that you're persevering in creating a mod version checker.

Quote from: historic_os on June 03, 2018, 10:24:33 PM
have the information stored in the mod forum message. if it's too ugly, there are many ways to hide text here I've tested during the development of modsync ninja from extremely small invisible text to keeping the text in an image URL (as I ended up doing).

the forum is a common ground to all mods and I think should be prioritized as a sync method. I've noticed that you created a sync factory, I can implement that forum agent if you want, but I wouldn't have time to do it anytime soon. so, if you (or anyone else) can pick it up it would be great!

I also think this is the way to go. Right now the responsibility of indicating mods are updated are in hands of the mod developers. Like we experienced in the past, mod developers are often reluctant to introduce extra steps in their update cycles (even if the steps are very tiny). I don't blame them, updating mods is already a hassle, and when the tool isn't popular yet, it only helps a handful of users. Getting the tool popular is the only way of success, and that's pretty hard to achieve.

I think the easiest way around this is, like historic_os suggested, is to have the information stored in the mod forum message. When implemented properly this can put the responsibility away from mod developers, and place it in the hands of the community. All that would ideally be required to indicate if a mod is updated is a small tag in a message on the thread belonging to the mod, like [ModSyncRW, version =1.1]. You could even omit the version, or keep the information in a nice looking image. The nice thing about this is that whenever a mod developer doesn't do this after releasing an update, regular users can do it by replying to the update post and saying "hey, nice update! [ModSync]". 

There are some issues with this approach, but I don't think they are problematic. First: How do you detect if a thread belongs to a certain mod? Parsing forum titles and finding matches with data in the About.xml wouldn't be reliable I think. A better solution would be to add the mod name in the modsync tag, so [ModSyncRW, modName="Name"] (this tag would only need to be posted once per thread). So what if a malicious user places tags in the wrong forum thread or posts a tag when the mod isn't updated? Well the worst that can happen is that mod users are directed to the thread, find out someone's being annoying, report this behaviour to the moderators, resulting in the malicious user getting banned/warned and the post being removed. So the only problem is that this gives the moderators some extra work. I cannot speak for them, but I hope they value a working modsync system enough to accept this. Moreover, I think the community is responsible and mature enough to not be annoying.

By the way, I think this system can co-exist with the current system that's in play, so mod developers that don't want to rely on the forum system can also use ModSyncRW.
Title: Re: [B18] ModSync RW
Post by: RemingtonRyder on June 04, 2018, 05:35:35 AM
Releasing small incremental updates to mods is not necessarily the way to go.

It can take weeks, even months for the right kind of feedback to trickle in. So these days I tend to do a big update when I've had time to test the mod, with several test releases in between.

It's not that I won't use a ModSync type of service, but, as it turns out, I don't update very often.
Title: Re: [B18] ModSync RW
Post by: Nightinggale on June 04, 2018, 06:18:17 AM
Quote from: historic_os on June 03, 2018, 10:24:33 PMp.s. with modsync ninja all updates were stored on the database, so I could check if any update between local version and latest was "save breaking" for that flag. since you don't have that version log how does the feature work now?
How about adding a list of savegame breaking versions, or even just last savegame breaking version? It will require converting the version string into Version to figure out if a version is newer than another though, meaning you can can only use 2-4 ints, not characters like b (beta) or similar. Right now all it does is comparing two strings to see if the local matches the remote.
Title: Re: [B18] ModSync RW
Post by: ZE on June 04, 2018, 10:10:19 AM
wish this had a direct update button, that downloads, deletes and replaces mods on a server
Title: Re: [B18] ModSync RW
Post by: Kiame on June 04, 2018, 11:35:15 AM
Quote from: ZE on June 04, 2018, 10:10:19 AM
wish this had a direct update button, that downloads, deletes and replaces mods on a server

For those using a git repo, that's what 'git push' does

If you mean downloading and updating the mod for the users... it's a problem of security. In this type of system a malicious actor can post a zip file that, when opened, would inject a virus. This way the user is directed to a site where they can verify the validity of the page and the download.
Title: Re: [B18] ModSync RW
Post by: meowmeow on June 05, 2018, 05:43:35 AM
Have you considered gitlab or other alternatives?
Title: Re: [B18] ModSync RW
Post by: Kiame on June 05, 2018, 09:53:05 AM
I can take a look at gitlab, know any mods that use that so i can test?

Also using 'Direct' should work for all repos
Title: Re: [B18] ModSync RW
Post by: Kubouch on June 05, 2018, 10:50:48 AM
Quote from: Kiame on June 05, 2018, 09:53:05 AM
I can take a look at gitlab, know any mods that use that so i can test?

Also using 'Direct' should work for all repos

I do: https://gitlab.com/rwmods (https://gitlab.com/rwmods). I manage my releases under tags (yes, they don't have a base folder, I need to fix it).
Title: Re: [B18] ModSync RW
Post by: Kiame on June 05, 2018, 12:20:18 PM
Quote from: Kubouch on June 05, 2018, 10:50:48 AM
I do: https://gitlab.com/rwmods (https://gitlab.com/rwmods). I manage my releases under tags (yes, they don't have a base folder, I need to fix it).

Thanks. I'll take a look at it tonight

Taking a quick look and 'Direct' will work. It doesn't look like it'll be hard to make Gitlab specific either as it's very close to github

The input fields I'm thinking will be available: (ownerand project is filled in using one of your mods as an example. Branch will always default to master)

Owner: [ rwmods ]
Project: [ universal-fermenter ]
Branch: [ master ]

I don't see a need to add a location for downloads as there's no release page or is that where tags come into play? Would another field like this be useful? (this would be a selection box with 2 options)
Download Page: [ ] ->
-Main Page
-Tags
Title: Re: [B18] ModSync RW
Post by: Kiame on June 05, 2018, 10:57:52 PM
Update:
Added Gitlab support for developers
Instructions (https://github.com/KiameV/rimworld-modsync-rw/wiki/Create-ModSync-File-"Github")
Title: Re: [B18] ModSync RW
Post by: Kubouch on June 08, 2018, 04:19:35 AM
Tags are a recommended way (https://docs.gitlab.com/ee/workflow/releases.html) by GitLab to emulate the functionality of GitHub's Releases. It is just a convention. They added a Release Notes field to the Git tags where you can put some text or attach a file.
Title: Re: [B18] ModSync RW
Post by: Kiame on June 17, 2018, 11:12:38 AM
Please request modders to include this in their mods as they get ready for RW 1.0

Thank you
Title: Re: ModSync RW
Post by: NoImageAvailable on June 17, 2018, 02:34:44 PM
How exactly would one add support for this? Adding a comprehensive guide to the wiki would be a good idea if you want this to gain traction with modders, people spend enough time figuring out the game code, they don't want to reverse-engineer some third-party API's on top of that.
Title: Re: ModSync RW
Post by: Kiame on June 17, 2018, 06:38:59 PM
Quote from: NoImageAvailable on June 17, 2018, 02:34:44 PM
How exactly would one add support for this? Adding a comprehensive guide to the wiki would be a good idea if you want this to gain traction with modders, people spend enough time figuring out the game code, they don't want to reverse-engineer some third-party API's on top of that.

There's already a step by step guide in the description of this mod.

QuoteMod Authors: Instructions to create a ModSync file

  • Enable Dev Mode
  • Go to the Mods page
  • Select your mod
  • On the right side there will be a new button "Create ModSync File"
  • Fill out the information on the new window
  • Confirm will be enabled once the Host information is complete and the "Validate" button has been clicked and the About.xml was successfully found.


Hosts:
Note: Currently Direct, Github, and Gitlab as a host are supported. Here are pages with instructions on how to fill each form of host out:

  • Direct (https://github.com/KiameV/rimworld-modsync-rw/wiki/Create-ModSync-File-"Direct")
  • Github (https://github.com/KiameV/rimworld-modsync-rw/wiki/Create-ModSync-File-"Github")
  • Gitlab (https://github.com/KiameV/rimworld-modsync-rw/wiki/Create-ModSync-File-"Gitlab")

If there's anything that does not make sense please let me know and i'll update it to be clearer.
Title: Re: ModSync RW
Post by: Kiame on June 17, 2018, 07:09:31 PM
Updated for 1.0
Direct Download: https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.0/ModSyncRW.zip
Title: Re: ModSync RW
Post by: Kiame on June 21, 2018, 02:54:14 PM
1.0 Update:
Mods that are hosted on Gitlab and Github and have 'About' directories that are not at the root are now supported with a new field "About Dir".

Updated the wiki pages with information on what the About directory will do. Mods that are already using ModSync RW will not need to update to the new format.

Added more details in the wiki pages for create ModSync.xml files
Title: Re: ModSync RW
Post by: Dingo on June 22, 2018, 07:48:29 PM
I sincerely hope this takes off as the go-to solution for non-Steam releases. Very easy to make ModSync.xml files and it does not require much effort to maintain.

All of my RimWorld v1.0+ mods will include ModSync functionality.
Title: Re: ModSync RW
Post by: Spdskatr on June 24, 2018, 08:05:05 AM
Nice work Kiame. I'm gonna join in the ModSync party in 1.0 as well. Making it decentralised and friendly to modders should help bring more modders in.
Title: Re: ModSync RW
Post by: TheIVFallen on June 28, 2018, 01:20:22 AM
u just upgraded to 1.0, modsync and hugslib as well but the modsync button isnt showing up on my menu
Title: Re: ModSync RW
Post by: Kiame on June 28, 2018, 02:17:56 AM
TheIVFallen

A few things to verify:
1. The mod is enabled
2. Do you have the correct version? If running the unstable version of the game use ModSync RW 1.0 otherwise please use the B18 version until the game is officially released (at which point you can switch to the 1.0 version of this mod)
Title: Re: ModSync RW
Post by: Tsunamy on July 09, 2018, 04:34:26 PM
By going to github.com/Author/Project/releases/latest and looking at what the last part of the URL resolves to, you can implement version retrieval for most RimWorld mods on Github without relying on mod authors to add a ModSync.xml file. Many won't even if it's easy.
Title: Re: ModSync RW
Post by: Kiame on July 09, 2018, 05:29:59 PM
Quote from: Tsunamy on July 09, 2018, 04:34:26 PM
By going to github.com/Author/Project/releases/latest and looking at what the last part of the URL resolves to, you can implement version retrieval for most RimWorld mods on Github without relying on mod authors to add a ModSync.xml file. Many won't even if it's easy.

Without a ModSync.xml file how would this mod know where to look?
-It is not guaranteed that a mod is hosted on GitHub.
-Who is the Author?
-What Branch?
-Where can the mod be downloaded from? -d/l branch or release?
-What version is currently installed?

If it's hosted elsewhere, where?
GitLab? See above
Direct Download?
-Where's the version for it?
-Where's the zip?
-What version is currently installed?

The ModSync.xml file is the abstraction layer that allows all of this information to be standardized. I've written instructions on how to make the ModSync.xml files. If someone is already using git and github/gitlabs/other then adding an additional file is not a problem. Same holds true to a static means of uploading files to a server; just another file to upload. Heck if someone wanted to select Direct Download option they could host the xml files in a repo and have the zip on a google drive (not sure why they'd do that but it's possible)

There's also something called being `platform agnostic` in which a program/mod does not rely on a 3rd party app/api/site to always behave a certain way. Uri signatures should stay unchanged - too much rely on that to be true - but behaviors like redirects that are specific to a single site cannot be guaranteed to always behave that way.

I am not going to tie this mod to any one platform. This mod will support as many different platforms as possible as people ask for support to be added.

If a modder does not want to take the 10 minutes to learn how to create a ModSync.xml then upload the file in another minute that's unfortunate - in the end it just hurts the mods' users as they won't know when there are updates. TBH after doing it 18 times now it takes all of 2 minutes to do everything. If any of the instructions are not clear let me know and I'll update them (they are wikis so others can update them as well i believe (i'll probably need to approve any changes))
Title: Re: ModSync RW
Post by: Tsunamy on July 09, 2018, 05:37:15 PM
QuoteWithout a ModSync.xml file how would this mod know where to look?

My suggestion was based on users making their own ModSync.xml files for mods that don't support it and whose authors are silent to pull requests. Perhaps they just don't care or they have long been absent (and the user would like to know if that absence ever changes).

Inputting that the mod is from Github and inputting the Author and Project could enable the automatic version retrieval without relying on a server-side ModSync.xml file. 301 Redirects are platform agnostic and as far as this particular redirect goes, is unlikely to change because of all the projects very reliant on this redirect.

One of the stated project goals is to "leverages hosting sites like Github", so this seems like a very easy addition to accomplish that. It would essentially just be comparing the version number from the About.xml file with the version number pulled from the 301 Redirect I described.
Title: Re: ModSync RW
Post by: Kiame on July 09, 2018, 05:45:35 PM
You're assuming modders create releases - many do not. Also this assumes that modders will create a new release for each update - many do not.

This would also require the user to update the version locally each time they update.

I got tired of creating new versions each time i updated a mod. I now just modify the release for the current RW version. I delete the zip, upload the new zip, and update the last update text in the message. This saves a ton of time otherwise I'd have to go to wherever i have direct download links and update manually.
Title: Re: ModSync RW
Post by: Tsunamy on July 09, 2018, 05:50:35 PM
Quote from: Kiame on July 09, 2018, 05:45:35 PM
You're assuming modders create releases - many do not. Also this assumes that modders will create a new release for each update - many do not.

I got tired of creating new versions each time i updated a mod. I now just modify the release for the current RW version. I delete the zip, upload the new zip, and update the last update text in the message. This saves a ton of time otherwise I'd have to go to wherever i have direct download links and update manually.
It does make that assumption, yes. So in the cases where releases aren't done, it would simply have to report to the user that it can't handle this particular mod and they're going to have to do it manually.

An Option B could be to have it update the mod from the latest commit, whether it needs to be updated or not, and simply store the commit hash in a ModSync.xml file. Should the latest commit ever change, it'll tell the user that the mod may be ready to be updated.

I'm in the same boat as you, I hate doing all this shit manually, but I know how difficult it can be to get a modder to do the smallest of things for compatibility, even if it does not impact their mod in the slightest. They simply do not want to be saddled with the responsibility of ever having to update said compatibility should the circumstances ever change. And people in general can be very stubborn.

In those cases it would be very very nice to have fallback options.
Title: Re: ModSync RW
Post by: Kiame on July 09, 2018, 05:54:09 PM
Hashtags could be used but then there would be too many false positives at which point users would not know when a mod is actually updated or if it was just the modder updating their mod locally but not ready for the next release.
Title: Re: ModSync RW
Post by: Tsunamy on July 09, 2018, 05:58:15 PM
Quote from: Kiame on July 09, 2018, 05:54:09 PM
Hashtags could be used but then there would be too many false positives at which point users would not know when a mod is actually updated or if it was just the modder updating their mod locally but not ready for the next release.

That's why going off releases would be the first thing the mod would try, and the commit hashes would be the fallback. i.e. If not {A}, then it must be {B}.

The only instances I can see this failing is incompatibilities wherein ModSync RW is being used on an out of date RW build, but you can check to make sure that the mod's update will be compatible by checking the About.xml file beforehand.
Title: Re: ModSync RW
Post by: Dingo on July 10, 2018, 02:20:29 PM
It's a one-time setup for the XML and all you have to do is change the version number when you update. Pretty well abstracted and easy to do.
Title: Re: ModSync RW
Post by: Tsunamy on July 14, 2018, 04:28:50 PM
And yet there aren't too many mods that support this right now. ¯\_(ツ)_/¯
Title: Re: ModSync RW
Post by: Kiame on July 14, 2018, 06:13:22 PM
Unless people request modders to include this it's not going to get used. It would be nice for this to get stickied.

In the end this mod will go unused out of ignorance to its existence and not complexity
Title: Re: ModSync RW
Post by: Canute on July 15, 2018, 03:52:11 AM
And not to speak, only 5-10% of rimworld player/modder use DRM-free rimworld and not the workshop.
Title: Re: ModSync RW
Post by: Tsunamy on July 18, 2018, 10:09:28 PM
I hate to beat a dead horse, but I don't think people are willing to add support for a mod no one uses. This is a Catch 22 situation.

If you started adding support to update mods that don't have explicit support, then more people would start to use it. Once it catches on, mod authors who wish for a finer control of what ModSync does with updating their mod would add support for it.
Title: Re: ModSync RW
Post by: historic_os on July 18, 2018, 10:42:02 PM
if Kiame does that for his 10+ mods, other modders can do that easily. Also, responding to people asking about bugs with "it was already fixed, just download the new version" literally takes more time than uploading the modsync file.

Regardless, previous iterations of modsync had around 160 mods. so yes, some mods will certainly support it.

to add to this general conversation: automatic version detection is the ideal but impossible scenario and we need to accept it. we've gone over it in past modsync threads, but the main points are:
1. mods are not similar. a mod can be either XML item mod,  an assembly or just a scenario.  the game does not force a version indication of mods. it doesn't even offer one.
2. mods use many distribution pipelines. some use cloud, version control, direct hosting,etc.. you can't force modders to use github.
3. even if you do force some type of source control, you can't determine what is a "build" and what's just a push of changes not ready for release.  most modders don't use releases or branches.

the best approach to get such project adopted is by helping. Kiame has made the whole project open source and anyone interested can easily add a new agent where every idea can be implemented and added to the arsenal for modders that could find it the ideal solution for them.
Title: Re: ModSync RW
Post by: Tsunamy on July 19, 2018, 10:11:43 PM
So if it can't accurate detect the version of every single mod regardless of distribution method it's not worth adding?

I don't understand the all-or-nothing mentality at all.
Title: Re: ModSync RW
Post by: Kiame on July 19, 2018, 10:36:21 PM
Just to be clear, this mod can track changes to the version number in the ModSync.xml file accurately no matter where it's hosted. Thus it can track the version of any mod hosted anywhere accurately.


The problem with trying to track anything related to a repo is that there's no guarantee that there was an update to the mod. If every time a repo changed in any way there would be too many false positives as to render this mod worthless.
Title: Re: ModSync RW
Post by: Dingo on July 20, 2018, 02:59:30 AM
There is absolutely no point in doing hours of work on versioning when the mod author can update it in seconds through XML. You choose your priorities as a developer and version detection should not be one of them.
Title: Re: ModSync RW
Post by: Kiame on July 27, 2018, 02:26:50 AM
1.0 Update:
Moved the ModSync RW button on the main screen to the left so it's no longer hidden.
Title: Re: [1.0] [KV] ModSync RW
Post by: TwistedSoul on August 03, 2018, 05:50:01 AM
Hey Kiame,

I was planning on adding support for ModSync RW to GlitterWorld Prime,

However, I host the downloads on my own GitLab Server.

I notice there is GitLab support but the URL is hard coded to the official GitLab hosting.

So I looked at using "Direct". Again I was met with defeat since "Direct" is actually more of a "Redirect" in the sense that ModSync RW doesn't actually perform the download in this case, but instead redirects the user to the URL provided, which kind of defeats the point of automated mod version control if the user has to download loads of individual ZIP files.

I considered writing my own Host which implements IHost but seems kind of a waste for a single mod to add an additional host, unless you don't mind having a few additional hosts that is.
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on August 03, 2018, 10:34:00 AM
I came from the approach that it's safer for the end user to know what they're downloading as it would be easy for bad actors to include viruses if everything was hidden.

Direct should work in all cases, what exactly isnt working?
Title: Re: [1.0] [KV] ModSync RW
Post by: TwistedSoul on August 03, 2018, 11:03:33 AM
I understand your reasoning and it's working as you intended, but consider:
It'll just make it a pain for the end user and the honest mod makers if they can't just click "Check for updates" and have ModSync RW download the new version automatically.

Is this something you would perhaps consider? Cheers, TS.
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on August 03, 2018, 01:11:41 PM
I would consider it and it shouldn't be too hard on the file manipulation end. The main problem i foresee is the download location would have to stay static between versions
Title: Re: [1.0] [KV] ModSync RW
Post by: TwistedSoul on August 03, 2018, 01:22:19 PM
Yeah, I completely understand,

Most of us tend to put it in URLs like http://somesite.com/some_mod/releases/some_mod_B18_latest.zip anyway so that's fine.

If you do end up implementing it, you can just pop a warning message to say:

"Hey listen,

By updating this mod you realise the risks of downloading files over the internet.

Don't blame me if it goes horribly wrong.

By pressing OK, I assume that you have reviewed the source code and you trust the mod author isn't about to screw you over,

Have fun, Love Kiame."
Title: Re: [1.0] [KV] ModSync RW
Post by: Brrainz on August 06, 2018, 02:46:27 PM
Much better concept than before. All my 9 mods will support it as soon as 1.0 comes out and my rw1 branches get merged into master.
Title: Re: [1.0] [KV] ModSync RW
Post by: KinKade on August 16, 2018, 04:35:35 PM
Is anyone else having the issue of not all your downloaded mods showing up in modsync?  For example I have 18 mods in my "mods" folder, and only 7 that show up in modsync.
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on August 16, 2018, 06:15:57 PM
If any are steam version they will not show up. Also not all mods have added modsync support, it's up to mod authors to do that.
Title: Re: [1.0] [KV] ModSync RW
Post by: KinKade on August 16, 2018, 08:01:09 PM
so if a steam version exists the manually downloaded one from github etc wont show up?
Title: Re: [1.0] [KV] ModSync RW
Post by: 5thHorseman on August 16, 2018, 08:17:20 PM
Quote from: KinKade on August 16, 2018, 08:01:09 PM
so if a steam version exists the manually downloaded one from github etc wont show up?
If you installed the Steam version it won't work with ModSync. But this doesn't matter because you presumably wanted Steam to manage the versions.

If you installed the non-Steam, zipped-up version of a mod with ModSync in it, whatever the mod maker put in the link will show up.

At least, that's how it works for my mod that is both on Steam and my local drive (not GitHub) and uses ModSync for the non-Steam version.
Title: Re: [B19] [KV] ModSync RW
Post by: Kiame on August 29, 2018, 12:07:00 AM
Updated for B19 - https://github.com/KiameV/rimworld-modsync-rw/releases/download/B19/ModSyncRW.zip
Title: Re: [B19] [KV] ModSync RW
Post by: tile7 on September 02, 2018, 06:16:02 AM
Hi.
I have modsync installed, and I tried everything to get it running, but I cannot find modsync button if there is any, and cannot possibly get to the update mods screen. It is b19 version, and rimworld marks it as correct version green. Tried moving it up and down the modlist, but still cannot find how to get to the update mods screen.
Title: Re: [B19] [KV] ModSync RW
Post by: Canute on September 02, 2018, 07:02:47 AM
tile7,
the ModSync button appear at the main menu, left of the Mods button.

If you don't have it, you should try to deactivate all mods beside Core and Modsync and check if it work.
If it doesn't work, i think something is wrong with the installation or the downloaded version.
I guess you download the Master from github page and not the Release version. The Master don't include the Assemblies, then it can't work.
Title: Re: [B19] [KV] ModSync RW
Post by: tile7 on September 02, 2018, 07:34:33 AM
Yes, I downloaded master. Thanks a lot Canute.
Title: Re: [B19] [KV] ModSync RW
Post by: Fluffy (l2032) on September 12, 2018, 02:44:19 AM
Ah, now we're talking! This is going to be a much more sustainable concept. *cough*I told you so (https://github.com/FluffierThanThou/RW_ModOrderWithVersioning)*cough*

Would it be worth having a discussion about what information should be stored in a manifest (e.g. modsync.xml)? This would be a good place to potentially store dependency information, as well as hints about load order. I'm talking about something akin to what Factorio does; example (https://github.com/benjaminjackman/factorio-mods/blob/master/rso-mod_1.5.0/info.json#L9). Obviously, without a centralized repository dependencies are always going to be fuzzy, but that shouldn't stop us from trying.
Title: Re: [B19] [KV] ModSync RW
Post by: bigheadzach on September 12, 2018, 10:16:38 AM
As an adjust project idea that (were I not inundated with real world work) I would use as a basis for my first modding project, a mod in the spirit of modded Minecraft's WAILA that would attempt to modify tooltips/descriptions of objects and features added by mods, to include what mod is providing that resource.

This way you can always tell if what you're wanting to do is something that vanilla provides or if you'll need help from a mod's author if it's not functioning like it should. (or who to thank for its coolness!)
Title: Re: [B19] [KV] ModSync RW
Post by: Stickie on October 01, 2018, 11:27:53 AM
Awesome work, loving it!

Was thinking about making something similar, stumbled upon this.
I took the liberty to add Bitbucket functionality and will be filing a PR soon filed a PR.
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on October 17, 2018, 11:46:31 PM
Updated for 1.0
https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.0/ModSyncRW.zip (https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.0/ModSyncRW.zip)
Title: Re: [1.0] [KV] ModSync RW
Post by: frenchiveruti on October 20, 2018, 09:05:44 AM
Hello Kiame, I encourage you to remove the spanish translation from the mod because it's extremely outdated, when I make some time for myself I'll make a new one for the new implementation of modsync. 
It's great to see this tool as I always thought it would be cool to be.
Greets.
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on October 20, 2018, 11:15:52 AM
Thanks for the heads up. I'll remove it for now
Title: Re: [1.0] [KV] ModSync RW
Post by: UncleIROH on October 27, 2018, 10:51:47 PM
How does the modlist get generated for this mod? Does everyones modsync.xml get uploaded to a central location or something and then version checks are done from that?
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on October 28, 2018, 01:40:05 AM
It relies on mod authors to host the modsync.xml file somewhere. This mod is completely decentralized so it relies on the individual modders to host their files.

For example all of my mods had their own GitHub repo. The modsync.xml file for each mod is accessible there. When someone with ModSync RW checks the version of mods, ModSync RW checks each mod's ModSync.xml file, reads where the remote ModSync.xml is hosted then compared the local and remote versions in the file. If the remote's is larger the user is informed with red text for the mod

GitHub is not the only way to host the xml file. Just having a static URL will work too as long as it gets updated with the new version when the mod does
Title: Re: [1.0] [KV] ModSync RW
Post by: LWM on August 09, 2019, 01:21:09 PM
If people are using this...is there a way for mod authors to do the setup ...without installing the mod themselves?

I can write an .xml file by hand; adding a mod, restarting rimworld, then restarting again to remove the mod is a bit of a pain.

--LWM
Title: Re: [1.0] [KV] ModSync RW
Post by: Kiame on August 27, 2019, 09:23:27 PM
You can write it by hand just look at the modsync.xml file in the About directory.

Question, why remove this mod after adding it? This mod is very lightweight and does nothing once the game starts - doesnt do anything actually unless you click the modsync button on the main screen
Title: Re: [1.0] [KV] ModSync RW
Post by: LWM on August 30, 2019, 04:49:16 PM
Minimalist at heart!
Title: Re: [1.1] [KV] ModSync RW
Post by: Kiame on February 27, 2020, 04:56:59 PM
Updated for 1.1
https://github.com/KiameV/rimworld-modsync-rw/releases/download/1.1/ModSyncRW.zip
Title: Re: [1.1] [KV] ModSync RW
Post by: phuhque on March 01, 2020, 03:12:08 PM
Now, if it would just go online when I start the game.  Almost ever time I start, it says I am offline.  I have a lot of security in front of my computer.  Where does this program connect to, what port does it use, and what method does it use to get to the internet?  I have to specifically create pin-holes for every single little thing.  Obviously, I do not play many multi player games, unless I host them locally.
Title: Re: [1.1] [KV] ModSync RW
Post by: Kiame on March 01, 2020, 09:54:07 PM
Quote from: phuhque on March 01, 2020, 03:12:08 PM
Now, if it would just go online when I start the game.  Almost ever time I start, it says I am offline.  I have a lot of security in front of my computer.  Where does this program connect to, what port does it use, and what method does it use to get to the internet?  I have to specifically create pin-holes for every single little thing.  Obviously, I do not play many multi player games, unless I host them locally.

The networking code is here: https://github.com/KiameV/rimworld-modsync-rw/blob/master/Source/RestUtil.cs

Basically uses .NET to call externally first to google.com to verify it can connect then loops through each loaded mod and if the mod has a .modsync file it'll open it and connect to the endpoint specified in that file. The connection to google is not secure (http vs https) and i wonder if your network is blocking insecure requests.
Title: Re: [1.1] [KV] ModSync RW
Post by: LordHelmchen on March 10, 2020, 02:36:37 PM
Greetings.
I'm trying to sort through my old mod selection after forgetting about Rimworld for about a year, and this looks to be a good first step, followed by copying over the mods.
Alas, RimWorld (1.1.2567, with royalty) complains about ModSync being incompatible, wrong version or corrupted.
I redownloaded it already, and currently no other mods are installed, so that rules out incompatible and corrupted... Anything I can do?


Apparently I've been away too long ... forgot about HugsLib and Harmony is now a separate mod...
May I suggest that you add the dependency on HugsLib to the About.xml ?
Title: Re: [1.1] [KV] ModSync RW
Post by: frenchiveruti on March 29, 2020, 01:01:39 AM
I still love this mod.
Kiame, do you need an update on the translation?
Title: Re: [1.1] [KV] ModSync RW
Post by: Kiame on March 29, 2020, 03:34:14 AM
TBH i do not pay attention to the translations. If anything is not correct feel free to create a pull request or PM me the changes and I'll include them
Title: Re: [1.1] [KV] ModSync RW
Post by: frenchiveruti on March 29, 2020, 11:39:44 AM
Alright I'll look it up when I have a moment haha, I don't care either because most of the mods are not in Spanish so it ends up being a miss match of languages, in any case I'll let you know ;)
Title: Re: [1.2] [KV] ModSync RW
Post by: Kiame on August 12, 2020, 01:18:35 AM
Update for 1.2 - https://github.com/KiameV/rimworld-modsync-rw/releases/download/current/ModSyncRW.zip
Title: Re: [1.2] [KV] ModSync RW
Post by: Kiame on April 14, 2021, 02:19:10 AM
Update 1.2.1.0:
Now supports Manifest.xml files and will use Manifest.xml before ModSync.xml or Version.xml (the latter two being the fall backs)
Title: Re: [1.3] [KV] ModSync RW
Post by: Kiame on July 05, 2021, 12:55:54 AM
Updated for 1.3

Direct Download (https://github.com/KiameV/rimworld-modsync-rw/releases/download/current/ModSyncRW.zip)

Steam (https://steamcommunity.com/sharedfiles/filedetails/?id=1399727830)
Title: Re: [1.2] [KV] ModSync RW
Post by: Doomster on September 30, 2021, 06:25:37 AM
Quote from: Kiame on April 14, 2021, 02:19:10 AM
Update 1.2.1.0:
Now supports Manifest.xml files and will use Manifest.xml before ModSync.xml or Version.xml (the latter two being the fall backs)

It would be nice to mention this in the main post. Thank you for the mod!