Ludeon Forums

RimWorld => Releases => Mods => Outdated => Topic started by: historic_os on July 16, 2017, 06:34:45 AM

Title: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on July 16, 2017, 06:34:45 AM
DISCONTINUED IN FAVOR OF: ModSync. please refer to this thread instead. (https://ludeon.com/forums/index.php?topic=41634.0)

(http://i.imgur.com/UWo5XCf.png)
ModSync Ninja
Update your non-steam mods!
(http://i.imgur.com/Em7qBD0.png)


Struggling to manage all your mods or just really want to know when your favorite mod is updating? use ModSync Ninja!


What's that?
ModSync Ninja is a client-server service that allows modders to push updates to their mods.
When you check the list of mods you use, you'll be able see each mod installed version, current version, and a link to the update on the forums.
All that from the game itself.

Download: Direct (https://goo.gl/i4njN2) | Steam (http://steamcommunity.com/sharedfiles/filedetails/?id=1062774260)

The project has been revived!
Kiame (https://ludeon.com/forums/index.php?action=profile;u=72439) has joined us. Together, we have decided to give the project another go!

Aside from the project being back up, here's what we have in plan for the near future:

Whos already in? Check the list of registered mods here!
http://www.modsync.ninja/mods (http://www.modsync.ninja/mods)


FAQ

Connection indicators
(http://i.imgur.com/uDKEFKq.png)

Authors:
Kiame (https://ludeon.com/forums/index.php?action=profile;u=72439), historic (https://ludeon.com/forums/index.php?action=profile;u=64587), Jas

Wanna learn more? visit: http://modsync.ninja (http://modsync.ninja)

Client Change log
View on ModSync.Ninja mod page (http://www.modsync.ninja/Mods/Details/4f2a43e6-ffc7-422a-bdbf-bf5c8e327a19)

(http://verify.modsync.ninja?4f2a43e6-ffc7-422a-bdbf-bf5c8e327a19) (http://www.modsync.ninja)
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Canute on July 16, 2017, 07:26:34 AM
I realy hope many modder support this ! :-)
But why you made a steam link for a non-steam updater ? :-)
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Lerin on July 16, 2017, 07:49:05 AM
Great nice looking idea :D
Dude make option to download mods from steam to local, and all together will be amazing stuff
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: PixelBitZombie on July 16, 2017, 08:03:26 AM
If it does what it says it will do, then yes this mod will be one for the books. We just need to hope modders alike support this.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: lost_RD on July 16, 2017, 09:20:19 AM
It seems the website does not support HTTPS?
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on July 16, 2017, 11:31:50 AM
This is quite nice and promising. I will look at using this with my mods soon.
I just hope lots of other modders will join - from prior experience in other modding communities, the key-point for this kind of projects is  to reach a certain "volume" of authors/uploaders using it

On a side note, I just started to use steamWS and this looks like a way more intuitive process IMHO :p

edit:
forgot the essential: Thank you for your work!
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: SpaceDorf on July 16, 2017, 01:14:52 PM
If this is going to work it will save my sanity :)
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on July 16, 2017, 01:17:07 PM
I have started to add some of mine. Everything went smoothly. It's really straightforward. Great job.

It's logical from how you described the process but maybe you should add plainly that the name of the mod folder have to match exactly

Completely non mod related : if sometimes you have time and willing to show or explain how it is working/handled/done server-side, as a webdev amateur, I'm interested in those kind of things ;-)
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: RemingtonRyder on July 16, 2017, 01:41:59 PM
Can't see the use of it, to be honest. I already have a site where people can go to get direct downloads. They don't need to visit the forums.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Sefiriot on July 16, 2017, 02:07:01 PM
Quote from: MarvinKosh on July 16, 2017, 01:41:59 PM
Can't see the use of it, to be honest. I already have a site where people can go to get direct downloads. They don't need to visit the forums.

Well, if I did use your mod, and you updated on the forums: This is supposed to at least auto-alert me that you've updated the mod, and I should get the new version, without me having to remember to check your site for a new update every time I fire up the game. I have to admit that sounds very handy.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Canute on July 16, 2017, 03:12:51 PM
Quote from: MarvinKosh on July 16, 2017, 01:41:59 PM
Can't see the use of it, to be honest. I already have a site where people can go to get direct downloads. They don't need to visit the forums.
Maybe YOU have a site, but not the rest of the users. And maybe this get some support from the moderators of the forum, so when anyone want to release his mod here, he need to made it compactible with this.
When you want realease it on the steam workshop you need to follow some rules too.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: RemingtonRyder on July 16, 2017, 05:34:27 PM
I stopped doing mod release posts on these forums a long while ago and this auto version checker isn't going to make me start again. It may be very convenient for you guys, but if it's reliant on the forums then I can't support it.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: wwWraith on July 16, 2017, 06:27:37 PM
The thing is that it will work reliably only if all modders will support it and it will be able to support all modders. Until then even if you use just 1 mod without autoupdater, you have to manually check the forums either way. And steam, if it's author prefers it. And github, if they don't care about any other hubs. And their shiny personal sites, if they don't care about any player's convenience. Or google... Personally I have 9 tabs constantly opened in the browser to check for updates. I only hope that there won't be several different auto updating services that will make the things even more complex, like in some other games. But if someone really has the potential, ambition and responsibility to create a standard (or, ideally, official) way to update all mods, it would be really great.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 16, 2017, 06:32:54 PM
Hey everyone, sorry for the late reply, crashed to sleep shortly after releasing the two posts.
to touch everything that has been said here(sorry, wall of text ill try to add relevant parts from here to the main post at well):

technical questions:

General how is it working -
Synced mods receive an xml file similar to the about.xml file to place in their mod folder. This file stores the mod version and gives the client side mod a reliable way to know mod's version.
Each time a mod pushes an update and uploads the new xml file to the server its being parsed and the new version record is created. Whenever a client asks for details about a specific mod his local version at his mod xml file is being compared to the versions on the server.

The main goal was to make the updating process as smooth as possible. I've had my own mod (industrial rollers) that has seen many updates and i know, first hand, how annoying it could be to upload the new updates and update both forums and steam. While i can't save you that trouble, i can at least make sure the mod sync part is as quick and simple as possible - just changing a value in the XML file and dragging it to the site.
Yes, with additional resources it could be smoother. But please understand, this is an initial release of a project i had no idea how the community would reply to. If modders agree to take part and players find it useful, smoother updating will be the biggest priority.

@lost_RD
SSL certificate(HTTPS) - Aside from the fact a decent certification can cost a lot of money and is another expense on top of the domain, domain privacy and hosting service. there's honestly no need for one at the moment.
HTTPS connection encrypts the data transferred between the client and the server and its main use is to prevent man in the middle attacks (hackers who already tap into your network connection or viruses already sitting on the client's computer).
It does not cover server security flaws or PBKAC.
Anyway, there is no sensitive data being transferred between the server and the client here.
There's no registration at the moment, no name or email being asked for - simply because there's no need for it.
The ModSync.xml file is the only thing being transferred between the client and the server and is completely transparent anyway (any user can view it, its just the mod name, ID and version).
Regarding the "Secret key" its just a tool to verify the mod author, you shouldn't use any of your real passwords for it (It does however use PBKDF2 ontop of SHA1, one way encryption that would take many years of computing to brute force in case you are worried).

If and when an SSL certificate will be required, it will be added. but at the moment id much rather spend the extra money on something else such as a cloud hosting to allow easier mod upload and download.

@kaptain_kavern
Mod folder and general -
Yep i do need to make it more clear that the mod folder is the only mod unique identifier available, ill try to emphasis it even more. Regarding how is it working - i went over it in the top of this post.
And sure, if you have any none related web(client or server) questions, it has been my work for years. I'd be glad to help:) hit me up here or on discord (if the question is related to this project and is too specific, go for PMs for obvious security reasons).

A question from Discord that might pop up here, just to have it covered.
Why is the client side mod sending a ping to google -
As seen in the main post, there are some connection indicators to help help clarify the sync process result.
The possible outputs of a sync request are: success, error due to a server side issue, error due to a client side issue and network connection error. For network connection, both the client and the server's connection is being checked to identify the source of the problem - Is the server offline or is it just the client not connected to the internet?
The most common and accepted none intrusive method to know if a client is actually online is sending a simple ping to google.com, since its always online. The request is simply calling google.com with no additional information, the response is never read, let alone kept.
If you have a personal vendetta against google and don't use it at all to the state a simple call to google.com bothers you - I'm very sorry. i might add an option to completely opt out of this connectivity check, but its on a very low priority.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 16, 2017, 06:57:58 PM
I hate to see how things got out of hand and out of context. This is not a forum replacement and it was never intended to be.
This is simply an additional tool to let users quickly get an overview of the mods they use and the status they are in. It allows them to download updates at the current state by redirecting them to the forums.
It does not list new mods and it is not a discovery tool.
Modders - think about the players using your great mod, they might as well use 100 or 200 more equally awesome mods. Do you honestly expect them to keep check of every single mod? what if they were away the moment you post your update and they miss it because its not on the first page anymore?

answering some general questions:
@Canute why is it on steam - its there for users who use both steam and forums, for mods that decide to not use steam for any reason:)
@Lerin copy mods from steam - you can simply copy the mod folder to your local mods. adding such feature is unfair for modders who prefer to have their mods on steam only.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: faltonico on July 16, 2017, 07:13:07 PM
@MarvinKosh
Having a site for your mods doesn't prevent your users from having to go there regularly to check for new updates, not having to do that is the whole point of this mod, and the convenience of it in your case is that you still wouldn't have to rely on the forums to tell everyone that your mod just updated.
There are no direct downloads from the mod so people would still need to go to your site to get the files.

The only drawback i see form the mod is that modders would have to do an additional maintenance task of updating it in the service. And seriously, if you don't want to do that i would understand completely, you are already giving users your work for free, asking for more would be inconsiderate, but if you do update would be absolutely marvelous!.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Thirite on July 16, 2017, 07:39:26 PM
Hey, I've been interested in seeing an auto-updater mod for a while. But some modders including myself are concerned about the design choices regarding its function. Would you be interested in joining the rimworld discord server here to discuss it?
https://discordapp.com/invite/UTaMDWc
(specifically in the rimworld-modding channel)
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 16, 2017, 07:59:18 PM
im already there, but not a big discord user, just mention me @historic there
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: RemingtonRyder on July 16, 2017, 08:00:41 PM
Quote from: faltonico on July 16, 2017, 07:13:07 PM
@MarvinKosh
Having a site for your mods doesn't prevent your users from having to go there regularly to check for new updates, not having to do that is the whole point of this mod, and the convenience of it in your case is that you still wouldn't have to rely on the forums to tell everyone that your mod just updated.

If you want to submit a mod (on the ModSync Ninja site) then you have to submit a link to a forum post. Now, if it can be any webpage which follows the same instructions, then that would be great, but it doesn't say that non-forum mod posts will work or will be supported in the future or whether it's a complete no-go for whatever reason.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: faltonico on July 16, 2017, 08:04:10 PM
Quote from: MarvinKosh on July 16, 2017, 08:00:41 PM
Quote from: faltonico on July 16, 2017, 07:13:07 PM
@MarvinKosh
Having a site for your mods doesn't prevent your users from having to go there regularly to check for new updates, not having to do that is the whole point of this mod, and the convenience of it in your case is that you still wouldn't have to rely on the forums to tell everyone that your mod just updated.

If you want to submit a mod (on the ModSync Ninja site) then you have to submit a link to a forum post. Now, if it can be any webpage which follows the same instructions, then that would be great, but it doesn't say that non-forum mod posts will work or will be supported in the future or whether it's a complete no-go for whatever reason.
I just noticed that, there is a step required for you to verify the ownership by modifying the forum post.
I guess it would be a no go for you unless there another method for that verification.

Edit: How rude of me, i haven't said thank you for making this mod Historic_os and Jas xD
Thank you!!
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 16, 2017, 08:23:48 PM
@MarvinKosh,
Your case of having a website for your mods is not very common among the modder community here and in all honesty - wasn't something i had in mind while designing the verification process.
It's limited to ludeon forum posts for security reasons. im open for both feedback and suggestions, and if anyone has an idea for a more flexible verification method im all ears.

I'm sure you, personally, have no bad intentions but you can't discard possible outcomes.
Say for example, anyone can verify using any website. Someone could impersonate as a modder representing a mod and have users redirected to an irrelevant website, or even worse - get people to download a virus.
I'm not asking modders to register so i couldn't track someone responsible for such act because registering to websites is annoying and simply not required for this specific case of updating a mod.

Having ludeon's forum as a common ground and a widely accepted trusted source for mods was just the obvious solution.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Thirite on July 16, 2017, 08:35:30 PM
Quote from: historic_os on July 16, 2017, 07:59:18 PM
im already there, but not a big discord user, just mention me @historic there
I don't see any results for @historic... I think you might be in the closed-off modding discord. The one I linked is the public one.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: System.Linq on July 16, 2017, 08:54:05 PM
Why not just use the Workshop?
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: RemingtonRyder on July 16, 2017, 09:32:29 PM
@historic_os Thing is, Ludeon forums may be a trusted mod source, but it isn't an ideal way to distribute mods. If someone clicks the link in my sig, they can go down the list of my A17 mods clicking everything they want, boom, all mods downloaded. Total footprint is one shortcode.

On the forums here, that same ease of downloading requires a fistful of bbcode entered by hand. Which is a waste of time. I'd rather be actually modding RimWorld or fixing something that I broke than constantly re-editing a post which hardly anyone looks at anyway. A lot of people probably get a direct download of one of my mods after looking at the Steam Workshop page for it.

Which, to answer Linq, Steam Workshop is flaky enough of the time that it's easier to go find the direct download version and use that, than wait for the Steam client to finally finish the download. I kid you not. :/

Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: faltonico on July 16, 2017, 09:40:50 PM
@Historic_os
Perhaps modifying the workshop post could be used for the verification step as an alternative to the forums?
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Sixdd on July 17, 2017, 09:02:00 PM
Is anyone else having trouble getting on the site?
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: EnterTheNameHere on July 17, 2017, 09:45:25 PM
The site is on a list of potentionally dangerous websites:
https://www.google.com/transparencyreport/safebrowsing/diagnostic/#url=http://modsync.ninja/
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 18, 2017, 04:37:38 AM
It's a false positive, it was being blocked because of the mod file in the downloads containing the mod DLL
I've submitted for a review and it should be fixed soon.

EDIT: The false positive issue has been resolved with ESET support and the NOD anti-virus should not mark the website unsafe anymore.
Regarding google's "Uncommon download" warning, its still under review and should be resolved once they finish reviewing it
EDIT 2: The false positive issue with google safe browsing has been resolved as well. if you still see a warning, please allow a few hours for it to update.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Sixdd on July 18, 2017, 07:16:05 AM
I can confirm that the system works perfectly, I've already updated four mods to use it and everything works grand.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 18, 2017, 07:41:24 AM
Quote from: Sixdd on July 18, 2017, 07:16:05 AM
I can confirm that the system works perfectly, I've already updated four mods to use it and everything works grand.
epic!

based on the feedback i received from modders on discord, many seem to be using github.
im currently working on an easier update for github mods.
we will be watching for commits on the ModSync.xml so that if you use github and provide us with the repo link you will be able to skip the update part on the site at your end.

this is in the works as we speak, ill be updating once its ready.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Canute on July 18, 2017, 08:17:32 AM
Try to look at the updater for hardcore-SK modpack, so far i understand it update from github.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: historic_os on July 19, 2017, 11:47:58 PM
GitHub mods can now link the ModSync.xml in their repo and updates will be pushed automatically.
Sync your mod with GitHub in the site update section (once) and whenever the version changes in the file (after a commit)  - an update will be added to the database.
Title: Re: [A17][Mod Updater] ModSync Ninja
Post by: Kubouch on July 29, 2017, 06:50:42 AM
This looks good, I'll try it out when I have some more time. Keep it up! I think this needs to be around for some time so people start noticing it.

Plus yay for the GitHub support (pity that I use GitLab)! :-D
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: Sixdd on September 04, 2017, 08:26:48 AM
It's a real shame this didn't last any longer than it did, guess the only option left is steam workshop *shudder*
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: eskoONE on September 04, 2017, 08:31:44 AM
Quote from: Sixdd on September 04, 2017, 08:26:48 AM
It's a real shame this didn't last any longer than it did, guess the only option left is steam workshop *shudder*

its a real shame yea. but i guess steam workshop is more convenient for most of the users. i highly dislike the workshop and wanted this to be successful. this is also one of the features that should be merged with hugslib imo. maybe another day.

ty for your effort op!
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: Canute on September 04, 2017, 09:00:44 AM
It never will work on a freely base.
The steam workshop got some rules, but on the forum any modder cook his own soup.
Unless tynan start or support a non-steam modupdater it never will work.

I tryed to asked serveral modder to support modsync, but serveral refuseed it other said they got a better idea in progress.

Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: eskoONE on September 04, 2017, 09:20:56 AM
Quote from: Canute on September 04, 2017, 09:00:44 AM
It never will work on a freely base.
The steam workshop got some rules, but on the forum any modder cook his own soup.
Unless tynan start or support a non-steam modupdater it never will work.

I tryed to asked serveral modder to support modsync, but serveral refuseed it other said they got a better idea in progress.

the modding community seems to be working well together, when someone brings them together. i believe ccl did that very well, so does hugslib now. we just rly need someone to adapt this mod and set some guidelines with it. i was also dreaming of a feature which determines incompatibilities in advance and suggest patches to go with it.

oh well, like i said before, maybe one day.

id be interested in knowing the ppl who told you that they have their own ideas around this topic.
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on September 04, 2017, 09:56:28 AM
Thanks for having tried OP. I tried to use and speak about it.

Thank you again and farewell :p
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: faltonico on September 04, 2017, 10:06:36 AM
Most modders are stubborn (some are just plain assholes... but you'll never see me saying that to them), you should have been patient, and just keep pushing it, adoption wouldn't happen in less than an alpha.
Hopefully you'll find a way to convince them in the future that this is a very useful quality of life addition to non steam users, and more importantly and option that they don't have to maintain other than the correct version of their mods.
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: Apposl on September 04, 2017, 03:36:10 PM
Quote from: faltonico on September 04, 2017, 10:06:36 AM
Most modders are stubborn (some are just plain assholes... but you'll never see me saying that to them), you should have been patient, and just keep pushing it, adoption wouldn't happen in less than an alpha.
Hopefully you'll find a way to convince them in the future that this is a very useful quality of life addition to non steam users, and more importantly and option that they don't have to maintain other than the correct version of their mods.

Agreed, I was disappointed to see the discontinued tag on this. I don't know how long it has actually been available, and the OP obviously knows best what his/her goals were...but as a marketing/business guy irl, this seems like it was thrown under the bus and quit on way too quick. We've all heard Rome wasn't built in a day. Looks like this was only released about a month ago?

Well, thanks for the attempt, OP. Really cool and useful mod for all of us who don't use Steam. I totally get not being able to commit time to an unpaid project when real life/other priorities DO exist. I look forward to your next creation!
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: Chicken Plucker on September 05, 2017, 07:27:52 AM
Hello author, as somebody who has been painfully running around updating all my mods and having to use Modsync ninja over and over, it is very sad indeed to see this mod with such a potential go. It's always for the sake of convenience for others that these tools are made, and hopefully something like this comes up again if you stick to your decision.

Take care always
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: Kiame on November 30, 2017, 12:25:04 PM
historic_os

Any chance you could put your code out on github? I want to mess with a few ideas and your initial work looks like a great starting place.
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 03, 2017, 07:39:10 PM
Hype?

;D
Title: Re: [DISCONTINUED][Mod Updater] ModSync Ninja
Post by: PreDiabetic on December 03, 2017, 07:55:04 PM
What's going on here? New page full of B18 Mod Sync editions mods. Ninja is revived or faked his death?
Title: Re: [Mod Updater] ModSync Ninja
Post by: Kiame on December 03, 2017, 08:12:52 PM
It lives!

Thanks historic_os!
Title: Re: [Mod Updater] ModSync Ninja
Post by: historic_os on December 03, 2017, 08:15:42 PM
Back!

Update - Version 1.1.0.1
- Added a Kiame (https://ludeon.com/forums/index.php?action=profile;u=72439)!
- You can also see list of registered mods here (http://www.modsync.ninja/mods)!
Title: Re: [Mod Updater] ModSync Ninja
Post by: Nightinggale on December 03, 2017, 08:48:24 PM
It's so wonderful to have this feature back. I really missed it  :)

I'm going to add ModCheck soon (like within 48 hours). However before I do that, I would like to add the check isModSyncVersion to allow one mod to check if another mod is at least of a certain version. It seems obvious to add for completeness and it will be one step in the direction that ModSync.xml can be used in general as mod version.

To do this the easy way, can I get your permission to copy FileUtil to ModCheck?
It would be a timesaver to use known good code and I will add credits to you in comments.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 03, 2017, 09:36:06 PM
Sure, that would be great!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 04, 2017, 02:30:16 AM
Starting to add mines.

DESurgeries and As Simple As Rack are already "Ninja Sync'ed"
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: JerryBi on December 04, 2017, 04:43:53 AM
Suggestion:

A mod has some special XML file in it's "about" folder other mod can read it?
If yes, then point of "adding" mods using some special page looking strange for me.
This tool can check every installed mods looking for a specific file and checking stated in that file URL for updates from an external source.

Such scenario eliminates most of the security issues as Player need to download any mod at least once by himself - here player will be one that will verify mod (archive \ files \ source \ author).

And point to have such tool is to have a possibility to get updates in one click.
You open mod from the main menu, get a list of updated mods, maybe openable spoiler with release notes and button "update".
If afterwards you need to open a browser, download file to a needed location, unarchive it... is it so much useful?
In case update can be execute by this tool - it is GOLD tool :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 04, 2017, 07:40:28 AM
@masaykh
Yes, the ModSync xml file is placed inside the mod folder and any mod can use it to read other mod's version.
however, mods are protected behind a combination of said file and a "mod key" (password) they provide on registration.
which means, having the ModSync xml alone is not enough to make any changes to the mod and release updates.

Regarding automatic updates \ download of mod updates from within the game - it is the ultimate goal and we do plan on adding it. but before we do this, there are some required features to be added:
1. Patch notes, visualization of patch content (such as new feature, bug fix, translation) needs to be added
2. A better way to credit the author - we don't want people to download a mod and forget about the original mod author. mod author should be able to determine if he wants to support direct download of mods and author name should be added to the list of mods.
3. Some time and a bigger user base - this mod is still fairly new, I myself wouldn't trust a mod i don't know with downloading files to my computer and i don't expect people to do so as well.

Direct update, in general, is a very sensitive topic. as modders should be able to determine how they would like to distribute their content. once more modders add mods, we will start taking input on how they think downloads should be provided in a way that will still respect their work.


@kaptain_kavern, lol i like "ninja sync'ed" :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: MisterVertigo on December 04, 2017, 08:39:55 AM
Would it be possible to add disabled mods to the list, via an option? Right now I have a mod downloaded but it doesn't work correctly. I'm hoping when the author updates it that it will work again. For right now I have it disabled. It would be cool if it showed up on the ModSync list so I would see when it updated and then I could try it again. Just a thought.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 04, 2017, 09:43:58 AM
Congrats on the resurrection!

Now that it's been pointed out to me that ModNinja is back, I'll plan to add my mods to it this evening, when I get home from work.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 04, 2017, 10:27:03 AM
Quote from: MisterVertigo on December 04, 2017, 08:39:55 AM
Would it be possible to add disabled mods to the list, via an option? Right now I have a mod downloaded but it doesn't work correctly. I'm hoping when the author updates it that it will work again. For right now I have it disabled. It would be cool if it showed up on the ModSync list so I would see when it updated and then I could try it again. Just a thought.
Maybe it would be a good idea to make the server compile a xml file of the newest version of each mod. Whenever a client wants to know the newest version of one or more mods, it will be a question of downloading a static file, not a database lookup.

The result would be less CPU load on the server and the client would be able to check all mods, not just enabled ones without causing a lot more network traffic.


Speaking of feature requests, find a solution to the problem mods on steam suffers from whenever a new version of RimWorld comes out. Figure out a way to inform the client that the current mods are for 0.18 and somehow add support for allowing 0.19 versions of the same mods to coexist, meaning when upgrading to 0.19, ModSync will figure out how to help upgrading the 0.18 mods while at the same time it won't affect people sticking to 0.18 a while longer. The 0.18 unstable phase was a real pain.

Quote from: historic_os on December 04, 2017, 07:40:28 AM3. Some time and a bigger user base - this mod is still fairly new, I myself wouldn't trust a mod i don't know with downloading files to my computer and i don't expect people to do so as well.
Well at least you have provided the source code (sort of, a GitHub repository would be nice), but this is useless unless you read it and understand it. It looks like it's the kind of code, which requires background knowledge to understand.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: jom650 on December 04, 2017, 10:40:17 AM
Just An Question, Will You Add More Mods To Be Updated?

Welcome Back :D
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: BlackSmokeDMax on December 04, 2017, 11:24:57 AM
Quote from: jom650 on December 04, 2017, 10:40:17 AM
Just An Question, Will You Add More Mods To Be Updated?

Welcome Back :D

I believe it is up to Modders to add their mod to this system. So you will have to talk to the author of your favorite mods and see if they will put their mods into this system.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 04, 2017, 11:26:03 AM
Quote from: jom650 on December 04, 2017, 10:40:17 AM
Just An Question, Will You Add More Mods To Be Updated?

Welcome Back :D

It's up to each mod author to upload their mods.

To everyone: Please ask mod authors to support ModSync.ninja. This project's success is up to everyone's support.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 04, 2017, 11:38:26 AM
Quote from: MisterVertigo on December 04, 2017, 08:39:55 AM
Would it be possible to add disabled mods to the list, via an option? Right now I have a mod downloaded but it doesn't work correctly. I'm hoping when the author updates it that it will work again. For right now I have it disabled. It would be cool if it showed up on the ModSync list so I would see when it updated and then I could try it again. Just a thought.

Good suggestion. We're considering disabled mods could be at the bottom of the list w/ grey text to help distinguish the enabled/disabled mods. I'll see if it's clear visually. If it isn't maybe add a Mod Setting to show/hide disabled mods.

For developers I'd like to make updating mods as easy as possible. I'm thinking a button in game - probably above the "Update Mod on Steam" in the Mods page - adding a button which is "Update Mod on ModSync.ninja". When pressed a text field will ask for the security text. If correct it'll update the version.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 04, 2017, 10:35:22 PM
And all this started because I was bitching about the versioning Kiame used in the mods lol.

I'm so glad this tool is back.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 04, 2017, 11:02:34 PM
Quote from: frenchiveruti on December 04, 2017, 10:35:22 PMAnd all this started because I was bitching about the versioning Kiame used in the mods lol.
Sometimes a grumpy old man is what is needed, regardless of his age or gender. In fact since it turned out this great, keep doing it  :P
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 04, 2017, 11:04:53 PM
Quote from: Nightinggale on December 04, 2017, 11:02:34 PMSometimes a grumpy old man is what is needed....

Speaking as a grumpy old man, I whole-heartedly agree! ;)

EDIT:

And, now, users can keep track of all my updates on ModSync. Everything's set now to use it.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 05, 2017, 06:24:57 AM
Quote from: dburgdorf on December 04, 2017, 11:04:53 PM
And, now, users can keep track of all my updates on ModSync. Everything's set now to use it.

Epic, thank you all for adding your mods!
synced mod list is growing, reminder: you can see all mods here (http://www.modsync.ninja/mods)!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 05, 2017, 09:14:56 AM
Hey guys important question, is this mod compatible with "ModSwitch (https://ludeon.com/forums/index.php?topic=35719.msg366771#msg366771)"?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: MrWeeGee on December 05, 2017, 09:18:17 AM
Quote from: frenchiveruti on December 05, 2017, 09:14:56 AM
Hey guys important question, is this mod compatible with "ModSwitch (https://ludeon.com/forums/index.php?topic=35719.msg366771#msg366771)"?

I'm currently using both and don't seem to have any issue.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 05, 2017, 09:21:39 AM
Quote from: MrWeeGee on December 05, 2017, 09:18:17 AM
Quote from: frenchiveruti on December 05, 2017, 09:14:56 AM
Hey guys important question, is this mod compatible with "ModSwitch (https://ludeon.com/forums/index.php?topic=35719.msg366771#msg366771)"?

I'm currently using both and don't seem to have any issue.
Thanks!
Also, as a suggestion for this list: http://www.modsync.ninja/mods
Add the modder name? I mean, maybe it will create some nepotism with your favourite mod makers but I like my mod makers.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jetpack_Maniac on December 05, 2017, 10:18:21 AM
I've got an error when trying to use my mod with your system:

[ModSync Ninja LOG] ModSync Ninja has encountered an error with your request if this error repeats, feel free to submit the error below to the forums
Verse.Log:Message(String)
RimWorld_ModSyncNinja.MSLog:Log(String, Level, Boolean)
RimWorld_ModSyncNinja.<>c__DisplayClass2:<CreateRequestHttpRequest>b__1()

[ModSync Ninja LOG] Your request: W3siTUYiOiJSaW13b3JsZC1TaGllbGRzIiwiViI6IjEuMC41In1d
Verse.Log:Message(String)
RimWorld_ModSyncNinja.MSLog:Log(String, Level, Boolean)
RimWorld_ModSyncNinja.<>c__DisplayClass2:<CreateRequestHttpRequest>b__1()

[ModSync Ninja LOG] Response Error: 103
Verse.Log:Message(String)
RimWorld_ModSyncNinja.MSLog:Log(String, Level, Boolean)
RimWorld_ModSyncNinja.<>c__DisplayClass2:<CreateRequestHttpRequest>b__1()


I've no other mods loaded for the sake of that test.  I added my mod yesterday but I haven't been able to figure it out on my end, it doesn't look like I did anything wrong but I've never used ModSync before so I think I might have.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 05, 2017, 11:58:41 AM
Quote from: Jetpack_Maniac on December 05, 2017, 10:18:21 AM
I've got an error when trying to use my mod with your system:
Shields mod, right? ill have a look thanks

Quote from: frenchiveruti on December 05, 2017, 09:21:39 AM
Also, as a suggestion for this list: http://www.modsync.ninja/mods
Add the modder name? I mean, maybe it will create some nepotism with your favourite mod makers but I like my mod makers.
Will be added soon, we are currently working on a small control panel to let modders change their passwords, reset them, change mod link etc. on top of that we will add the option to be known by forum name or pick a custom name. currently we just don't store that info in the database yet so i can't display it.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jetpack_Maniac on December 05, 2017, 12:14:20 PM
Yep on shields!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 05, 2017, 01:07:29 PM
The issue you had with the shields mod was due to your folder being called "Rimworld-Shields" while the record on the DB is set to "rimworld-shields". i'll push an update to ignore case in a few minutes and it should solve the issue.

tho, i noticed the download of your mods gives a folder called "FrontierDevelopments-Shields-b18-1.0.4" this needs to be the same name as the database name in order for the sync to work. could you set the release folder name to a consistent name?
i also didn't find the "ModSync.xml" in the about folder there but i assume you just haven't uploaded it yet.

It also seems that since the mod name is long it overflows to the next column on the client, Kiame is working on improving the UI in general, we will take this into account as well
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 05, 2017, 01:27:31 PM
Update

Version 1.1.0.2:
- Mod folder names on both client and server are not case sensitive anymore
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Necromenta on December 05, 2017, 01:33:23 PM
guys i have a problem, i dont know if is this mod but i think you can help me, the text in the game is weird...
there´s a screenshot, the weird text only appear in the mods menu and in-game objects

(https://www.kn3.net/609AA7634E3JPG.html)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 05, 2017, 01:55:43 PM
Quote from: Necromenta on December 05, 2017, 01:33:23 PM
guys i have a problem, i dont know if is this mod but i think you can help me, the text in the game is weird...
there´s a screenshot, the weird text only appear in the mods menu and in-game objects


Looks like something's wrong with the translation files somewhere. If a new mod was added try removing it.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: SpawnTD on December 05, 2017, 04:00:55 PM
I just hope more and more mods will use this.

Its a real hassle to check every single mod yourself on the forum.

XKeep up the work and lets hope other mod creators join this.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 05, 2017, 04:12:08 PM
Quote from: SpawnTD on December 05, 2017, 04:00:55 PM
I just hope more and more mods will use this.

Its a real hassle to check every single mod yourself on the forum.

XKeep up the work and lets hope other mod creators join this.

Thanks SpawnTD. If there are mods you'd like included please post a message on their thread. It's really up to everyone to have this work - authors to post their mods and users to ask authors to post. Link authors either to this thread or preferably to modsync.ninja (http://modsync.ninja)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 05, 2017, 05:59:46 PM
Oh BTW guys,

If I can be of any help, I'd be happy to help. I'm a webdev amateur and I'm French (for any translation works).

Keep up the good work ;-)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jaxxa on December 05, 2017, 08:17:20 PM
Neat, looks like I better start putting my mods up.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 05, 2017, 10:35:52 PM
Quote from: Jaxxa on December 05, 2017, 08:17:20 PM
Neat, looks like I better start putting my mods up.
Yaaay! I was just about to suggest you doing so :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 05, 2017, 11:14:23 PM
I released a new version of ModCheck, which can read ModSync version numbers for conditional patching and load error messages.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 05, 2017, 11:36:07 PM
Quote from: kaptain_kavern on December 05, 2017, 05:59:46 PM
Oh BTW guys,

If I can be of any help, I'd be happy to help. I'm a webdev amateur and I'm French (for any translation works).

Keep up the good work ;-)

Thanks kaptain_kavern!

We need to figure out how to get translations submitted. There is already a languages directory in the mod if you want to take a look. I'm working on a few things that'll add a few more fields.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 05, 2017, 11:47:06 PM
Already sent in the other thread (https://ludeon.com/forums/index.php?topic=34443.msg383057), in Mods » Tools section.  ;)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: UnlimitedHugs on December 06, 2017, 10:45:55 AM
Hello!
Nice work on the mod and the website. The addition of the GitHub update pulling feature is especially appreciated.
The only thing that irks me is the lack of a public source code base. Once that is sorted, I will gladly participate and enlist my mods.

Some minor feedback:
- More specific information about the ModSync.xml file would be nice. What are the fields that one would need to keep updated? How are the change notes for each version provided?
- The text on the website is not very readable. Browser zoom does not seem to help either, and breaks the layout. A bolder typeface might improve things.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 11:13:56 AM
We're discussing making the client side available. There's concern with security with the backend side. Due to hosting restrictions the db password and other secure values are in the actual code.

historic_os can correct me if i'm misspeaking.

As far as what needs to be updated in the ModSync.xml is the <version> attribute. The format of the version is up to you. I'm personally using a format of <rw major version>.<rw minor version>.<mod major>.<mod minor>

You can see other mods here: http://modsync.ninja/mods
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 06, 2017, 11:32:09 AM
quick note on top of what Kiame wrote:
theres also the <SaveBreaking> tag. if any version between player's version and latest version is tagged as save breaking - true. the user is notified that updating will require a new save.

other than that, there are no more tags or attributes to the modsync file yet, we are looking to possibly add patch notes \ feature codes (for example, showing at the client that the version includes bug fixes, features or translations). but still considering the best approach that will require less amount of work from the modder.


as for source code, like Kiame said, this is mostly for security purposes. we received multiple questions about the source code. i'll open it up in private explaining the issues in details with those who asked.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: UnlimitedHugs on December 06, 2017, 12:01:43 PM
Thank you for the info.
I would be quite satisfied with the client-side source code, since that is what players would be running.
Server-side source availability would promote the long-term survival of the project, but the security concerns are understandable.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 06, 2017, 01:59:47 PM
Quote from: Kiame on December 06, 2017, 11:13:56 AMAs far as what needs to be updated in the ModSync.xml is the <version> attribute. The format of the version is up to you. I'm personally using a format of <rw major version>.<rw minor version>.<mod major>.<mod minor>
ModCheck has further restrictions on <version>. In order to figure out if one version is higher than the other, I need to convert it into ints somehow. I decided on using System.Version. This mean it supports the following formats:
x.x
x.x.x
x.x.x.x
Each x has to be a number without characters, meaning RC1 or similar is not supported.

ModSync seems to support anything because apparently it just compares the strings to see if they are identical. When making version 1.5 before publishing it, ModSync told me it was outdated because 1.4 was released. If ModCheck is told the version should be at least 1.4, it would accept both 1.4 and 1.5.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 02:11:21 PM
I made a method which will convert a period-delimited version number into an int. It also supports numbers and [A-Za-z] - it can support any character from 0-999 (assuming unicode) but i'd probably keep that fact unmentioned. It'll probably get trashed as it probably isn't needed with a design change.

warning: i have done limited testing so i'd verify this is working prior to deploying it =P

/// <summary>
/// Converts the given version string into an int.
/// Examples:
/// 0.18.1 will return 181
/// 0.1.8.B will return 1801
/// 0.1.8b will return 1801 as well
/// For the last two [A-Z] and [a-z] are converted to 00-26
/// In all cases periods are ignored
/// </summary>
/// <param name="version">The version string to convert into a number</param>
/// <returns>A number representing the given version</returns>
private static int GetVersionAsNumber(string version)
{
    int i = 0;
    foreach (Char c in version.ToUpper().ToCharArray())
    {
        // for each iteration increase the magnitude by 10
        i *= 10;
        if (c >= 48 && c <= 57)
        {
            // 0 - 9
            i += (c - 48);
        }
        else if (c != '.')
        {
            // This is a case where it's a special character (not a number or period)
            if (c >= 65 && c <= 90)
            {
                // A - Z
                // In this case the numbers count for two digits. Increase i's magnitude by 10 again
                // and add the letter's value. A will be 0. Z will be 26
                // Thus 0.18M would become 1811 (M being 11)
                i *= 10;
                i += (c - 48);
            }
            else
            {
                // This is a really unsupported character.
                // I doubt this will ever happen. I'm just going to increase the magnitude of i by 100 and hope for the best
                i *= 100;
                i += c;
            }
        }
        // else Skip '.'
    }
    return i;
}


Since versions increase in value it should be as simple as using >, ==, < for comparing versions
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 06, 2017, 02:31:22 PM
The ModCheck code. It takes the two version strings ModVersion and version and convert them into Version types. Once converted, all the magic happens here:
return current.CompareTo(min) > -1;
1 = current is newest
0 = the same
-1 = min is newest

The question is which approach is the best? I mean which is the newest of 1.71 or 14.1? Your code will say 171 while mine will go for 14 > 1  :-\

        protected override bool isTestPassed()
        {
            int index = getModLoadIndex(modName);
            if (index != -1)
            {
                ModMetaData MetaData = ModsConfig.ActiveModsInLoadOrder.ElementAt(index);
                string ModVersion = RimWorld_ModSyncNinja.FileUtil.GetModSyncVersionForMod(MetaData.RootDir);

                Version current;
                try
                {
                    current = new Version(ModVersion);
                }
                catch
                {
                    throw new ArgumentException("CurrentVersionUnreadable");
                }

                Version min;
                try
                {
                    min = new Version(version);
                }
                catch
                {
                    throw new ArgumentException("MinVersionUnreadable");
                }

                return current.CompareTo(min) > -1;
            }

            return true;
        }
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 02:40:09 PM
AHAHAHA
Yeah I assume a static world where modders don't change their version formats mid-stream. Your approach is probably better in the long run due to that. I was trying to be more inclusive and support as many strange version formats as possible.

To get around that I could make a new class with a list of numbers. Each index is the set of numbers between each period. To compare it starts at the beginning of the list and compared each index. If at any point a number is greater for the new mod it is the higher number. If everything is equal then the new or old version has an additional index it wins
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 06, 2017, 02:59:59 PM
Quote from: Kiame on December 06, 2017, 02:40:09 PMYeah I assume a static world where modders don't change their version formats mid-stream....

I didn't actually think about this yesterday, but the problem might not even be limited to format changes.

Since I never bothered with version numbers before, when I added my mods to ModSync the other day, I just went with a simple "<Date>.<Release#ForThisDate>" format.  All of my initial ModSync updates were 171204.1, since for each mod, the update was the first on December 4.  I noticed when I updated a couple of mods yesterday, that before I updated the ModSync version, ModSync was suggesting that I "update" from 171205.1 to 171204.1.  I thought it was odd that the system didn't recognize that the higher number would be the newer version, but I just assumed that it suggested updates any time the numbers didn't match. Which actually *does* make sense, since it's probably safe to assume that a user, unlike the modder him or herself, is never going to have a "newer than current" update. :)

EDIT: OK, I didn't read the prior messages closely enough. I thought ModSync was already checking for "most recent," and so wanted to point out that the check didn't seem to be working. But if all it's actually doing is comparing the strings, well, yeah, my "bug" isn't a bug at all, and it's working exactly as it's supposed to. :D
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 06, 2017, 03:04:12 PM
at the moment, actual version comparison is simply not worth it. the whole versioning convention in rw mods is a mess/not exists.
its unlikely that the end user will have a version greater than the developer. the only possible reasoning for that is that the user is testing a version for another version of RW for example B19. for that, we have game version added to the mods soon.

yes, it would be nice to know what's the newer version but for the example of mod sync its irrelevant. regardless, having modders use a version numbering convention would be ideal in the long run
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 03:10:33 PM
The current idea i'm working on is to have a button in the Mods menu which is "Update on ModSync" just above "Update on steam"

When the modder presses the button a new dialog will pop up with the currently selected mod's version as it is in the ModSync db. A text field which has the current mod's version (as it is in the ModSync.xml file) and a second text field which is the Security Key which was used when the mod was submitted.

From here in order for the submit button to highight the version needs to change. Whether it's just different from the previous version or mandate it's higher in some way is still up in the air.

On submit I'll probably have it update the local mod's version in the ModSync file if the update is successful on the server side.

This would only be needed if the author either does not use github or has not attached ModSync to look in github for updates.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 06, 2017, 03:26:38 PM
Quote from: Kiame on December 06, 2017, 03:10:33 PMThis would only be needed if the author either does not use github or has not attached ModSync to look in github for updates.
Yeah, autoupdates from GitHub works quite well and we should encourage people to use it. It would however be a good idea to support multiple git repository hosts.

Quote from: Kiame on December 06, 2017, 03:10:33 PMOn submit I'll probably have it update the local mod's version in the ModSync file if the update is successful on the server side.
Is there a need for that? Before I release, I have to update the version for the DLL, the readme and changelog. I scripted some of that and adding ModSync.xml to the script is rather trivial.

Quote from: Kiame on December 06, 2017, 03:10:33 PM
The current idea i'm working on is to have a button in the Mods menu which is "Update on ModSync" just above "Update on steam"
If you touch that screen, make sure you stay compatible with ModSwitch  ;)
Also if you could add the ModSync version, like just below the target version, then it would be easier to get an overview of which versions you are using.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 06, 2017, 03:37:56 PM
reading version from assemblies is something we've already talked about and plan to add to this magic button kiame is working on. however, there are still many mods that don't update assembly info or use pure xml modifications with no assembly at all


as for the mod page, we are not going to break it, this is exactly why the modsync page is independent to the mod one so mod managers can still work.
we will either provide a library api that lets mod managers append the button or place it somewhere else
Title: General Rimworld Mods Versioning Idea.
Post by: frenchiveruti on December 06, 2017, 03:42:58 PM
This is just a suggestion on about how I did it on an old group I used to ran with publications in my school. 
We actually just told everyone that the format was <Mainmajor>.<MainMinor>.<SecondaryMajor>.<SecndaryMinor>, and enforced it (kindly!).
If I recall correctly (this was a few years ago) I introduced the idea to my group because of Fluffy's mods version scheme.
And just left it there as a sticky and anyone who came by to "innovate" at least won't be messing everybody else around with his creativity. 

Also, I don't know if there's a better method of versioning in Rimworld Mods. It's just placing it on the MainPost or the ModSync Ninja guidelines for the modder who wants to add his mod and just follow the Rimworld scheme (I think Kiame now does that of version numbers). 

Something like <RimworldMajor>.<RimworldMinor>.<ModMajor>.<ModMinor>, in a two character format <##>.<##>.<##>.<##>:

<RimworldMajor> #[Right now 18]
<RimworldMinor> #[Right now is 01 as there has not been any updates for B18]
<ModMajor>  #[Well, this is entirely up to the modder but it would be very wise to put a scheme for it, to avoid chaotic messes, like "a "modMajor" update comes when you migrate your mod from a rimworld version to another, starting from 1 from the first version you started in rimworld (if someone starts on A17 and updates to B18, his modMajor would be 2, but if he updates from A16, no updates for A17, and then back with B18, his ModMajor will be 3 even tho he never updated to A17]
<ModMinor> #[This is for the modder and his introduction on new features or content (or fixes!) but in the same Major Rimworld version, and resets if ModMajor goes up, just like the poor hospitality mod has to do right now, but better (he uses b18a, b18b, b18c, etc) (https://ludeon.com/forums/index.php?topic=11444.0) as now you have 99 versions to use (if you use two digits) and only one line to edit from update to update]

So, for hospitality, his actual version number should be as easy as: v 18.01.07.04 (His changelog goes from A12, and actual version is "d" which is the 4th letter)

And then the issue is solved, you just need to compare section to section, is very probable that the user won't be able to install an A17 version on a B18 game, as rimworld already points that mistake out, so ModSync just has to compare two version numbers, heck, even one version number (the one on the <ModMinor> version) that already has 2 digits, so no weird "sort" rules to be applied.

Ninja Edit: I've checked out the modsync.xml file, wouldn't be easier to just add this tags with comments like mine next to each (I have no idea if you can "comment" in xml files) and the modder won't even have to "edit" the whole string, just each tag with the same names I gave out here. So If the modder updates to a new version in the same major he will just have to change the double digit number in that xml tag named "modMinor". (So to be clear, 4 different tags, 3 of which would rarely be touched by the modder).
NinjaEdit v00.02: Also, better do it now that there aren't many modders involved (yet...!) and not latter when it's harder to enforce.
Like:
<modMinor>01</modMinor> >> <modMinor>02</modMinor>


Let me know what you think!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 06, 2017, 04:05:33 PM
Also another thing, and this is for some genius webmaster who knows how the GitHub API works. 
If you want to be able to "update on the fly" will a "release" format from github work? like, again comparing version numbers (in this case all the version numbers) with the releases tags. (I think combat extended does something like this: https://github.com/NoImageAvailable/CombatExtended/tags (check the "tags" names).
Like, I know some mod devs around here just post the releases on dropbox/Gdrive/Nexus and yadda yadda, but those on ModSync could be using the github API in it's benefit (without the need to know how it works) for easier downloads for the user, I don't say "auto updates" as that may conflict with the specific OS the user is running, but may be useful for mods that may not update the forum posts correctly (which involves even less lines and user mistakes for the modder to worry about!).

The thing would be something like:
Check if mod is "updated".
If the user clicks update, gets prompted if it wants "forum" or "direct download".
Direct download will download the zip file attached to the GitHub "release" that has the same tag as the one that is in the "update" in ModSync [if no attached zip file is found, downloads the source in zip format, this could have some issue as for example ClimateControlMod (https://github.com/vasumahesh1/CentralizedClimateControlMod/releases) has a source of ~150Mb and a release zip file of ~ 500kB, but better than anything].
And place it in a "ModSync downloads" folder in the mods folder.
This of course will involve some extra work but well, it will simplify both user and modder work, the only thing that now modders will have to stick to the versioning format.

Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 04:11:58 PM
Quote from: Nightinggale on December 06, 2017, 03:26:38 PM
If you touch that screen, make sure you stay compatible with ModSwitch  ;)
Also if you could add the ModSync version, like just below the target version, then it would be easier to get an overview of which versions you are using.

Our current thought is to have a small dll that mods that reformat the "Mods" screen can include (like harmony0.dll) which would have a function to call to get ModSync version for Mod and "Upload/Update on ModSync"

To keep hype steady the magic Update button will probably be a work in progress which changes as time goes on =)

Quote from: frenchiveruti on December 06, 2017, 04:05:33 PM
And place it in a "ModSync downloads" folder in the mods folder.
This of course will involve some extra work but well, it will simplify both user and modder work, the only thing that now modders will have to stick to the versioning format.

Due to concerns with malicious actors putting viruses/trackers into modsync-hosted mods we're not storing mod files and instead are redirecting users to the Ludeon forum post.
It may be something we look into in the future but for now we're playing it safe.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 06, 2017, 04:55:12 PM
Quote from: Kiame on December 06, 2017, 04:11:58 PM

Due to concerns with malicious actors putting viruses/trackers into modsync-hosted mods we're not storing mod files and instead are redirecting users to the Ludeon forum post.
It may be something we look into in the future but for now we're playing it safe.
Yeah totally I understand that.
What about my other message?

Also, as a final suggestion, add a "report bug" button for the mods? It may be only an small square icon with the shape of a bug like this one: (http://i.imgur.com/ymLMNza.png) (https://ludeon.com/forums/index.php?topic=16120.0)
That links to the "github/issues" page of the modder, if given.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 06, 2017, 05:19:46 PM
I've not talked version number format over with historic_os. My take is to each their own. As long as the number increases it doesn't matter.

This statement is in no way conclusive and is not the 'official' answer. Just my current opinion which could change  :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 06, 2017, 05:35:25 PM
Quote from: Kiame on December 06, 2017, 05:19:46 PMMy take is to each their own.... Just my current opinion which could change.

I would strongly encourage you *not* to change your mind on that point. ;)

Personally, I have no interest in being told that I have to start using a particular version numbering system, and I haven't even *been* using a version numbering system until now. I suspect that modders who already have a system that they've been using for a while and like would have even less interest in changing. It may seem minor, but I think it's exactly the sort of trivial-but-annoying detail that could keep modders from adopting ModSync.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 06, 2017, 05:40:52 PM
Quote from: dburgdorf on December 06, 2017, 05:35:25 PM
Quote from: Kiame on December 06, 2017, 05:19:46 PMMy take is to each their own.... Just my current opinion which could change.

I would strongly encourage you *not* to change your mind on that point. ;)

Personally, I have no interest in being told that I have to start using a particular version numbering system, and I haven't even *been* using a version numbering system until now. I suspect that modders who already have a system that they've been using for a while and like would have even less interest in changing. It may seem minor, but I think it's exactly the sort of trivial-but-annoying detail that could keep modders from adopting ModSync.
I agree with that. However I would encourage using a system, which is compatible with ModCheck, that is it will be based on 2-4 numbers. Failure to do so mean other mods can't figure out if your mod is updated. This is more important for some types of mods than others, but it would be a good idea not to limit other modders. For all you know, somebody might want to patch your new furniture or something like that.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: SpaceDorf on December 07, 2017, 05:03:27 AM
In my oppinion the easiest way to version mods would be by Date, which most modders allready do, independent from their own version numbers.

This is how I check for updates to mods.

Is the new Version older than 3 Days, then I propably have it allready, is it younger than 3 Days I need to have it  ;D

Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Supes on December 09, 2017, 12:04:09 PM
I currently have a mod in unreleased, but would I be able to change the forum link later on if I decide to use modsync with my mod?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 09, 2017, 01:29:07 PM
Quote from: Supes on December 09, 2017, 12:04:09 PM
I currently have a mod in unreleased, but would I be able to change the forum link later on if I decide to use modsync with my mod?
Yes and no, we are working on adding that ability now, so whoever finishes first :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 09, 2017, 01:58:56 PM
I'm in the same case for some WIP mods and I choose to not add them to the service until I reached 1.0 ^^
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Supes on December 09, 2017, 05:54:11 PM
Quote from: kaptain_kavern on December 09, 2017, 01:58:56 PM
I'm in the same case for some WIP mods and I choose to not add them to the service until I reached 1.0 ^^

I think I'll do the same.  but it is good to know there is something in the works for WIP mods.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 13, 2017, 12:36:51 PM
Just figured I'd give this thread a bump to make it visible again, in the hope that a few more modders and players will notice it and start using ModSync. ;)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 13, 2017, 02:33:27 PM
I do plan to ask more mod authors about using this. We're getting ready to update this with easier mod updates and cleaning up the website.

Stay tuned  :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 13, 2017, 09:29:36 PM
Sorry we've been on the silent side, truth is we are almost ready with a huge update and working hard on getting it out asap.

It includes faster and easier mod update for modders from the game client. We all update our mods on steam, having a modsync update next to the steam update button only makes sense. you'll be able to simply push an update to modsync before pressing the steam update button and it will update the modsync.xml file for you.
Having updates from the client instead of the website also gives us some more power we are making use of. We now read the mod folder to auto detect the game version of the mod update, supported languages of the mod and more.
This change makes life easier for modders who wish to use modsync ninja and also gives much more information to the player.

Theres a new website coming with this update to take advantage of the coming changes (the ingame client will be updated too to show all these changes but at the next version, its already a huge update and we dont want to delay it for too long) - mod page teaser(still WIP) (https://i.imgur.com/GPYc0LN.png). Almost everything in the mod page is automated just by parsing the mod folder  so the updating process stays simple.

Modders who have uploaded mods will become trusted after uploading a mod they own which will allow them to skip the annoying forum verification when adding mods and also let them change mod info(such as forum post link).

We've received many requests to open source the client and we are doing that too with an extra public API library which means you'll be able to have your script in whatever language you want to automatically push updates to the server whenever you want(for example on commit).
Since you'll have full control on that API request you can automatically update your modsync file and push an update, store your passwords locally and more. It also compiles at .NET 3.5 profile and runs completely fine in Unity so you can even have it embedded in your local rimworld client.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 13, 2017, 10:24:07 PM
Awesome
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 13, 2017, 10:40:04 PM
Wow. It's almost like you guys want this thing to seem... professional, or something.

Great job! :D
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 13, 2017, 10:52:03 PM
Then I'll keep spamming mod devs to include it!
Sorry mod devs!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 13, 2017, 11:15:51 PM
There is one thing I can't figure out from this announcement and that is how it will affect existing mods, which are already linked to GitHub. There is a changelog (awesome), but do I need to do anything to fill it out or will it just copy the one from GitHub?

What about languages? I assume this mean we need to use the push button ingame instead of relying on GitHub. What about mods with no language files? A DLL is fully able to contain strings. Should it go into "English only" or "no onscreen text, supports everything"?

Apart from those minor details, it look great. I'm really looking forward to see how it will be once it's released and more and more mods will use it.

Quote from: frenchiveruti on December 13, 2017, 10:52:03 PM
Then I'll keep spamming mod devs to include it!
Sorry mod devs!
We can do this the easy way or the hard way. One option is to add a warning for each mod not supporting ModSync. That will make lots of players report warning popups and there is only one way for mod creators to remove them  ::)

However I wouldn't follow that path. It would only upset some mod creators and you will risk that your colonists will wake up ingame with a horse head in the bed and that will really be a mood killer.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 13, 2017, 11:29:34 PM
Mods that only contains xml patches do not have language data, as well
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 13, 2017, 11:39:57 PM
We didn't forget about GitHub mods!
the server will allow you to push an update to the same version from the client. such update will only update the mod metadata(image, about file data, languages etc). so you can basically just use this client update once to populate that data and ignore it until you need to modify that (all the new fields such as Patch Notes are nice, but not required)

this is not how its going to be, its not the end solution. since this is a huge update we just split it to phases. the API library is aimed at GitHub mods, using the library you can build a script to run when you push changes\publish a release to update your mod on ModSync.
having this library public and open source means everyone can build on it. we are planning on building these scripts ourselves but if anyone can beat us to it, that would be nice :P
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 14, 2017, 12:09:41 AM
[Preview]

Update Dialog from within the game: (there's a button on the "Mods" page)

(https://i.imgur.com/e7KmPld.jpg)

"New Version" is auto-populated with the version in the mod's local ModSync.xml file
Quick Copy buttons:

Security Key: The password used when the mod was posted to ModSync

Patch notes are (hopefully) self explanatory and, as noted, completely optional.

The "Confirm" button will be enabled once a "New Version" and "Security Key" are entered.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 14, 2017, 12:38:16 AM
The ModSync.ninja RimWorld Client is now up on github.

Translators are welcome and much appreciated!

https://github.com/KiameV/rimworld-modsyncninja-client

-The Languages folder is under ModFolderContents
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 14, 2017, 01:11:59 AM
Quote from: Kiame on December 14, 2017, 12:38:16 AM
The ModSync.ninja RimWorld Client is now up on github.

Translators are welcome and much appreciated!

https://github.com/KiameV/rimworld-modsyncninja-client

-The Languages folder is under ModFolderContents
I added Spanish translation as a PR!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 14, 2017, 01:23:12 AM
Ha great you have made us waiting long! You rocks.

I'll do the French translation o7
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 14, 2017, 01:28:36 AM
quick note, this client code is updated for the new version however the new changes to the server including the API are not live. while you can build this version and run it, the new update feature is still offline and will output an error
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Canute on December 14, 2017, 02:04:29 AM
Quote from: Nightinggale on December 13, 2017, 11:15:51 PM
Quote from: frenchiveruti on December 13, 2017, 10:52:03 PM
Then I'll keep spamming mod devs to include it!
Sorry mod devs!
We can do this the easy way or the hard way. One option is to add a warning for each mod not supporting ModSync. That will make lots of players report warning popups and there is only one way for mod creators to remove them  ::)

However I wouldn't follow that path. It would only upset some mod creators and you will risk that your colonists will wake up ingame with a horse head in the bed and that will really be a mood killer.
Better don't spam any modder, or force him to use modsync.
Until there is an offical dev support, there is no need to do this. Maybe they notice this is maybe the better way, special after a Version update.

Yes i want to that many use modsync, but don't annoy or anger modder.
They should find their way at their own.

Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 14, 2017, 02:51:42 AM
I would agree that spamming modders is not a good idea. I do think posting at least once on a mod thread is acceptable to inform them. From that point it's up to them.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: SpaceDorf on December 14, 2017, 05:33:21 AM
Just keep bumping the ModSync Ninja thread so everybody can see it in the release forum  ;D
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Roolo on December 14, 2017, 05:50:55 AM
This is starting to look really promising. I'll definitely start using it when the update to ModSync button on Steam is added.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jaxxa on December 14, 2017, 05:53:01 AM
Yeah, Pestering mod developers is not the right way to get people to do something, but I would think that one nicely worded post in the thread informing of the options and advantages would not be a problem.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 14, 2017, 08:09:05 AM
Quote from: Kiame on December 14, 2017, 12:09:41 AM

  • Right: Read from the mod's dll. If no dll this button will not show up (shared dlls like 0Harmony.dll are ignored)
How about making ModSync aware of what the newest version of such dlls are. That way it will be able to make an alert if the dll should be updated. If it has a memory of which mods you uploaded, then it can check those mods for outdated shared dll files when it does the normal outdated mod checks. That will help detecting outdated versions of Harmony, ModCheck etc.

Quote from: Canute on December 14, 2017, 02:04:29 AMBetter don't spam any modder, or force him to use modsync.
Just in case somebody missed it: it was a joke. I'm not seriously considering causing mods to throw warnings or errors if they aren't supporting a specific feature. Maybe as a standalone tool to monitor how widespread support is, but not included in an existing tool.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 15, 2017, 10:25:29 PM
Not sure what's up, but I just got an "invalid XML" error when I tried to update my "Configurable Maps" mod by dropping the ModSync.xml file into the ModSync Web site. And no, there's nothing actually wrong with the XML. ;)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 15, 2017, 10:53:17 PM
Hey, yeah nothing wrong with the XML, our host database server crashed.
called them already still waiting for someone to lift up the power button... hopefully soon. sorry for that
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 15, 2017, 10:58:37 PM
Quote from: historic_os on December 15, 2017, 10:53:17 PM
Hey, yeah nothing wrong with the XML, our host database server crashed.
called them already still waiting for someone to lift up the power button... hopefully soon. sorry for that
So I guess the error also is on the game updated in the game client.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 15, 2017, 10:59:21 PM
Yes currently our host has dropped the ball. We are considering other options too if this continues.

Sorry for the inconvenience
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 16, 2017, 12:03:30 AM
No worries. We all know shit happens. ;)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 16, 2017, 12:13:14 AM
That's ok! no problemo.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Canute on December 16, 2017, 03:05:10 AM
When nothing goes wrong, there is no idea to made it better.
I think the client need to do an server-online check, and don't give just a xml-error.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: bigheadzach on December 16, 2017, 11:19:24 PM
Does the Direct link point to 1.1.1.0 yet?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 16, 2017, 11:35:27 PM
The new update it live. sorry for the long delay!
After a day of database issues with the host, we've decided to ditch them and move to a new one. Migration but we are finally back!

Users
Features
- Mods website updated, explore mods at http://www.modsync.ninja/mods
- Mod update via client allows easy updates and adds new mod information such as game version,
- Other modder focused updates
Translations
- Spanish frenchiveruti
- French kaptain-kavern
Thanks!

Modders
We have taken all feedback into consideration and focused this update on ease of use. while we are far from done improving it, we think its a good step at the right direction.

Author site login
Mod authors with at least one mod in the system now able to link their forum account (http://www.modsync.ninja/Account/Register) and log in to the website (no forum password required obviously, it is based on your previous verification).
They can then become Trusted authors.

Note: User name have to match forum name, case sensitive as well. option to change display name will be added soon.

Trusted authors
Authors with a real mod (verified manually by us) in ModSync will become trusted.
Trusted authors:
- No longer require to verify any new mods they are adding
- Has a "master" mod key they can use instead of a mod secret for any mod they own
- Can modify mod data such as name and link (and are not restricted to a forum link)
- Can replace mod secret if needed
- Can remove mods by themselves in case of an error

In game client mod update
This is the feature we are most excited about!

If you have the latest version of the ModSync Ninja client, you'll have a new button in the Mods menu, right where you push updates to steam.
The new Update at ModSync.ninja button will let you push updates to the server without going to the website.

Note: If updating the mod to a new version, the update button will also update your ModSync.xml file. you should update on modsync before updating on steam\download link so your users will get the new ModSync.xml file.

This update process also comes with a set of improvements:
1. Mod's game version will be stored and presented to the user.
2. Mod's languages will be stored and used as filter tags.
3. Steam image will be added to the mod page on the website.
4. Dependency libraries will be added(fetched from workshop)

What if i don't need to update my mod / i use GitHub auto update?
You can (and should) use the client to push an "empty" update using the same version number your mod is currently in.
It will trigger the server to fetch your mod informatio such as language and version tags, image, dependencies and you can add patch notes if you want.

GitHub mods - you can push the empty update described above at the client, having these features added directly to the GitHub mod update reader is coming on the next update.

Public, Open-Source API library
We created a small, simple API library you can use to automate your updates (and hopefully share with other modders).
This dosen't mean we wont be creating and adding tools ourselves. It's for whoever wishes to help, have a very specific upload process or just interested in it.

This initial release comes with two methods:
- GetModVersion(string modId): Returns mod's version on modsync ninja
- UpdateMod(UpdateModRequest request): Updates a mod on modsync ninja. the request object is provided in the project.

API bridge repo (https://github.com/modsyncninja/rimworld-modsyncninja-apibridge)
ModSync Ninja client repo (https://github.com/KiameV/rimworld-modsyncninja-client)


Agenda - upcoming updates
Users:
- In game UI to match the information provided on the website mods page (http://modsync.ninja/mods)
- Option to check for updates when starting the game
- Better looking, smaller ModSync button in the game client

Authors:
- For other mod managers who override the mods page - external DLL of our modsync button to allow the mods to coexist
- Multi author mods as seen in the modsync ninja mod page (http://www.modsync.ninja/Mods/Details/4f2a43e6-ffc7-422a-bdbf-bf5c8e327a19)
- Update to the GitHub mod updater to match the client update features


Just want to take the opportunity to thank Kiame for joining in on the project and helping to bring it back to life :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 16, 2017, 11:36:20 PM
Quote from: bigheadzach on December 16, 2017, 11:19:24 PM
Does the Direct link point to 1.1.1.0 yet?
It is now, sorry that update took a while to write
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 16, 2017, 11:59:01 PM
Wow, that looks awesome. I'm really looking forward to taking a closer look at all this. Sadly I can't access it due to a 404 error. I'm not sure if it's because migration isn't done or if it's because my ISP's DNS server haven't updated yet. Either way I assume it will work in the near future.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 17, 2017, 12:01:53 AM
Quote from: Nightinggale on December 16, 2017, 11:59:01 PM
Wow, that looks awesome. I'm really looking forward to taking a closer look at all this. Sadly I can't access it due to a 404 error. I'm not sure if it's because migration isn't done or if it's because my ISP's DNS server haven't updated yet. Either way I assume it will work in the near future.
Yeah, Kiame had the problem too took the DNS a bit to update. youll probably get it in a few minutes
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 17, 2017, 12:20:47 AM
There seems to be something cached on my computer as I occasionally get the previous version of the site. Still trying to track it down.

When i test it on an old laptop (which i had to dust off) the new site loads up fine.

Edit: Figured it out. Clear the browser's cached data
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 17, 2017, 12:27:53 AM
this might also be due to all the mods being updated, ill look into it if this issue continues after this initial data fetch phase
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 17, 2017, 12:32:00 AM
I cleared the disk cache in the browser, shut it down completely and started it again. That seem to have fixed the issue and I get the new server consistently. Clearing the cache wasn't enough.

It looks great. I like how you are able to filter based on languages and version of RimWorld (though I'm not sure why B18 is there twice). Now if we (eventually) can get the same with tags to tell what the mod does, then it will be an awesome place to search for new mods you haven't heard about.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 17, 2017, 12:37:09 AM
Somehow my mods added the second B18. We're trying to track it down
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 17, 2017, 12:44:53 AM
The plan is to allow user and author tags too but the UI is just not set for it yet, it will come!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Ozymandias on December 17, 2017, 01:35:15 AM
If it's possible, it'd be an absolute life saver if you could implement a sort of compatibility analysis feature to know which mod to place in which order to prevent conflicts. 
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 17, 2017, 01:47:43 AM
Quote from: Ozymandias on December 17, 2017, 01:35:15 AM
If it's possible, it'd be an absolute life saver if you could implement a sort of compatibility analysis feature to know which mod to place in which order to prevent conflicts.
It's already possible with ModCheck. If the mod creator knows the mod needs to be loaded after some other mod, it can be set to write an error to the log if this requirement isn't fulfilled. Errors for incompatible mods and required mods missing can also be given. However it does require the mod creators to fill out the xml file and to my knowledge only Smokeleaf Industry has done so.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 17, 2017, 02:01:09 AM
Quote from: Nightinggale on December 17, 2017, 01:47:43 AM
... to my knowledge only Smokeleaf Industry has done so.
Nope, I started to use it as well...

https://github.com/kaptain-kavern/KK_MovableSandbags/blob/master/Patches/modcheck.xml

:p

Thank you for the tool, I'll have to have a look at last release though. I'm just a slow worker ^^


@ModSync Ninja team
Great work guys! thank you
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 17, 2017, 03:25:03 PM
Apparently the database was down again. The error message is certainly not easy to understand and at first I thought I messed up. It wasn't until the web page failed to read the database that I realized it wasn't my fault. It came back up rather quickly and it's now working as intended. However it would be nice if the error message is human readable. Even with a stable server, the problem could be unstable wifi or similar, meaning loss of connection is reasonable to assume happening once in a while.

Can I add the entire changelog? I mean upload 1.0, 1.1 etc. Will it mess up anything now that the newest is 1.6 and it should stay as 1.6?

Quote from: kaptain_kavern on December 17, 2017, 02:01:09 AM
Quote from: Nightinggale on December 17, 2017, 01:47:43 AM
... to my knowledge only Smokeleaf Industry has done so.
Nope, I started to use it as well...
Luckily I said "to my knowledge". You can't argue with that  :P
On a related note: apparently "to my knowledge", the number of mods using ModCheck for compatibility checks has doubled. It's still nowhere near my intended goal though, but it will hopefully come eventually.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 17, 2017, 08:53:48 PM
I may have missed something somewhere, but what do I need to do or change in order to get my mods on the ModSync list to actually show the appropriate preview image and display the description text?

Oh, and why are "Tribal Essentials" and "Tribal Raiders" showing some random forum user with 5 posts as the author instead of me?  :)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 17, 2017, 09:36:38 PM
Quote from: dburgdorf on December 17, 2017, 08:53:48 PM
I may have missed something somewhere, but what do I need to do or change in order to get my mods on the ModSync list to actually show the appropriate preview image and display the description text?

Oh, and why are "Tribal Essentials" and "Tribal Raiders" showing some random forum user with 5 posts as the author instead of me?  :)
Yeah what the heck!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 17, 2017, 09:56:08 PM
Quote from: dburgdorf on December 17, 2017, 08:53:48 PM
I may have missed something somewhere, but what do I need to do or change in order to get my mods on the ModSync list to actually show the appropriate preview image and display the description text?
You enable the ModSync mod and then inside the mod list, there will be a ModSync button next to the update on steam button. You might need to enable developer in settings for it to show up (like the steam button). When updating, it will copy such meta data from your HD.

Quote from: dburgdorf on December 17, 2017, 08:53:48 PMOh, and why are "Tribal Essentials" and "Tribal Raiders" showing some random forum user with 5 posts as the author instead of me?  :)
Americans have been claim jumping since 1776, so why not online?  :P

Your objection is right. I thought it would pick the person who made the post with the ModSync link/logo. In this case it picked somebody who haven't even posted in the thread in question. That's a serious bug.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 17, 2017, 10:18:00 PM
Quote from: Nightinggale on December 17, 2017, 09:56:08 PMI thought it would pick the person who made the post with the ModSync link/logo. In this case it picked somebody who haven't even posted in the thread in question. That's a serious bug.

A minor clarification, but it might be relevant: He *does* in fact have a couple of posts in my mods' thread.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 17, 2017, 10:26:31 PM
I think I got what went wrong. When clicking either of those two mods, it will take you to a post. Not the thread itself, but a specific post. Both happens to be on page 10 and the first post on page 10 is made by.... well take a guess  ;)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on December 17, 2017, 10:47:45 PM
Sorry for not responding sooner. Been head down in my other mods...

To get the image preview will require an update within the game using the ModSync mod enabled.

In RW go to Mods and select the mod to update. On the right side there's a new button "Update on ModSync.ninja". Select that. In the new window you can leave everything as is and just enter the Security Key. Press the Confirm button at the bottom to finish.
This will not increment the version number thus no one will see it as a mod update.
Give the website about 5 minutes to update.

As for the problem with mismatched author we'll need to take a look at what's going on there.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: dburgdorf on December 17, 2017, 10:58:31 PM
Quote from: Nightinggale on December 17, 2017, 10:26:31 PMI think I got what went wrong. When clicking either of those two mods, it will take you to a post. Not the thread itself, but a specific post. Both happens to be on page 10 and the first post on page 10 is made by.... well take a guess  ;)

That would explain it.  All of my mods link to posts within that thread, as the first post in the thread is just my "index" post. But it just happens that the first post on each of the other relevant pages was by me.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 17, 2017, 11:05:59 PM
FYI: The link from the site to "Steam workshop item" is broken.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 18, 2017, 04:20:48 AM
Hey! sorry for the late response, been away.
@dburgdorf Sorry! thats not a bug, but a human error by me

Yes, the system does take the author with the verification message.
however, before this new update, we didn't store the author at all. so i needed to backfill authors for existing mods
since the verification couldn't be used for that(some may have removed it) i took the first author for that and missed the fact two of your mods gets another author.

This has nothing to do with the actual mod registration process and should never happen to new mods!
i'll have these mods reassigned to you in a minute.


@kaptain_kavern
What do you mean by that? you don't have a link at all or have a link that points to invalid page?
what mods are you checking, mods that have not ran the client update don't have steam metadata sent to the server.

Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Fluffy (l2032) on December 18, 2017, 05:58:18 AM
Two points;

Open source, please! :D I'd like to be able to contribute, but I don't have the schedule to actually be a 'core' contributor. You can make secrets environment variables on whatever machine runs the server, so you don't have to log them to a public repository.

Is the 'modder account' on the site linked up to anything yet? I've made an account but nothing appears to have happened, and I still have to add mods one-by-one?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 18, 2017, 08:43:57 AM
Quote from: Fluffy (l2032) on December 18, 2017, 05:58:18 AM
Two points;

Open source, please! :D I'd like to be able to contribute, but I don't have the schedule to actually be a 'core' contributor. You can make secrets environment variables on whatever machine runs the server, so you don't have to log them to a public repository.

Is the 'modder account' on the site linked up to anything yet? I've made an account but nothing appears to have happened, and I still have to add mods one-by-one?
About the modder account, if I'm correct, once you are a "verified" modder, all the other mods can be uploaded in tandem wit the same secure key.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: kaptain_kavern on December 18, 2017, 10:30:02 AM
Quote from: historic_os on December 18, 2017, 04:20:48 AM
@kaptain_kavern
What do you mean by that? you don't have a link at all or have a link that points to invalid page?
what mods are you checking, mods that have not ran the client update don't have steam metadata sent to the server.

I mean from this page

(https://i.imgur.com/MfNihsm.png)

Clicking on "Visit Steamworkshop" links to a broken URL
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 18, 2017, 12:22:17 PM
Quote from: kaptain_kavern on December 18, 2017, 10:30:02 AM
Clicking on "Visit Steamworkshop" links to a broken URL
woops, good catch. the link in the main page is just a static link. ill update it


as for the trusted modder change, the list of changes to trusted modders from the change log:
Trusted authors:
- No longer require to verify any new mods they are adding
- Has a "master" mod key they can use instead of a mod secret for any mod they own
- Can modify mod data such as name and link (and are not restricted to a forum link)
- Can replace mod secret if needed
- Can remove mods by themselves in case of an error
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 18, 2017, 12:54:49 PM
Quote from: Nightinggale on December 17, 2017, 03:25:03 PMCan I add the entire changelog? I mean upload 1.0, 1.1 etc. Will it mess up anything now that the newest is 1.6 and it should stay as 1.6?
I don't think I got an answer to this question and I would really like to know the answer.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on December 18, 2017, 01:09:09 PM
sorry missed that one, nope you can for the first version just put the old logs you cant create an older version
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Canute on December 19, 2017, 02:53:27 AM
Ok, a question/suggestion.
When you notice a mod got an update, you did download,delete and copied it over.
But didn't Rimworld need a restart to reload the new defs ?
Then a restart button would be nice.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: SpaceDorf on December 19, 2017, 12:23:07 PM
yeap. rimworld needs to restart whenever defs are changed.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Nightinggale on December 19, 2017, 12:34:37 PM
Quote from: Canute on December 19, 2017, 02:53:27 AMThen a restart button would be nice.
I agree with that statement. It would be useful to have a button to restart the game. Vanilla has this:
// Verse.ModsConfig
public static void RestartFromChangedMods()
{
Find.WindowStack.Add(new Dialog_MessageBox("ModsChanged".Translate(), null, delegate
{
GenCommandLine.Restart();
}, null, null, null, false));
}

The easiest solution is to make a button, which calls RestartFromChangedMods. Alternatively copy paste the code and make the confirmation window say something more suitable, like not mentioning a detection of changed mods. It would be useful for both manual mod updating and mod development. In fact such a button could be very useful when using ModCheck patch profiling.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: frenchiveruti on December 19, 2017, 01:16:43 PM
Quote from: Nightinggale on December 19, 2017, 12:34:37 PM
Quote from: Canute on December 19, 2017, 02:53:27 AMThen a restart button would be nice.
I agree with that statement. It would be useful to have a button to restart the game. Vanilla has this:
// Verse.ModsConfig
public static void RestartFromChangedMods()
{
Find.WindowStack.Add(new Dialog_MessageBox("ModsChanged".Translate(), null, delegate
{
GenCommandLine.Restart();
}, null, null, null, false));
}

The easiest solution is to make a button, which calls RestartFromChangedMods. Alternatively copy paste the code and make the confirmation window say something more suitable, like not mentioning a detection of changed mods. It would be useful for both manual mod updating and mod development. In fact such a button could be very useful when using ModCheck patch profiling.

That would be so useful per se. Sometimes I needed to just restart the game and it would be so nice to have it as a button.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jaxxa on January 06, 2018, 11:43:39 PM
I am trying to sing up with a modder account, signing in now says "Invalid username or password." and registering says "You don't have any mods in ModSync Ninja yet or this account is already registered. you must first upload one mod.".

If some one with access could have a look at it that would be appreciated.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on January 07, 2018, 04:42:49 AM
You need to first post a mod. Once a mod is posted then you can create an account.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jaxxa on January 07, 2018, 05:05:19 AM
I had done that. I tried creating an account before but I don't know if it worked right, the password I set before isnt working to login.

http://www.modsync.ninja/Mods/Details/73cfa067-2dd1-4368-b19c-6b1d5f996046
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on January 07, 2018, 08:23:18 PM
hey Jaxxa, for your first log-in you will need to "register" (which is only picking a master key). make sure you fill your actual forum account name. the name is case sensitive so in your case it will be Jaxxa.
You'll also need to enter the key to one of your current mods (to verify its actually you)
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Jaxxa on January 07, 2018, 08:49:20 PM
Thanks, looks like it was my fault for not noticing that it was Case Sensitive, looks to be working now.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: ridjack on January 19, 2018, 07:56:29 PM
Very minor gripe: Could you please move 'Rimworld' in the folder name to be AFTER the name of the mod? It's slightly annoying to go looking for a specific folder and end up looking in the wrong place because it's got the name of the game in front of it. I end up renaming it myself, of course, but it'd be nice to not need to.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Roolo on March 16, 2018, 01:13:36 PM
Hmm I've probably done something wrong. I added Modsync to RunAndGun, and wanted to get a ModSync account after that. However, when I try to create the account using the id in the ModSyncNinjaData xml, I get: Could not find mods matching the mod key provided linked to this forum account. Did I miss something?

Edit: never mind. It was my fault, used the wrong key.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Roolo on March 17, 2018, 07:31:54 AM
The previous issue is resolved, but now I try to get the auto updating using GitHub working, however, ModSync Ninja doesn't seem to recognize the URL.

The site states:
Link to the ModSync.xml file in your repo's working branch and we will automatically watch your file for changes.

I filled in:
https://github.com/rheirman/GiddyUpCore/blob/master/About/ModSync.xml

And I'm getting:
Invalid GitHub link pattern.

Also linking to the raw, or the URL without "blob" in it didn't work.

Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on March 20, 2018, 11:27:41 PM
Quote from: Roolo on March 17, 2018, 07:31:54 AM
The previous issue is resolved, but now I try to get the auto updating using GitHub working, however, ModSync Ninja doesn't seem to recognize the URL.

Hey Roolo, very sorry for the late response. busy days, haven't had the time to check the forums.

Have you gotten the issue resolved? I'm getting no issue with the URL you have pasted (https://github.com/rheirman/GiddyUpCore/blob/master/About/ModSync.xml).
The regex (https://regexr.com/3mj36) we use seems to accept it and it works for me on dev env.
Is this the exact URL? letter case as well?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Roolo on March 30, 2018, 12:29:17 PM
Quote from: historic_os on March 20, 2018, 11:27:41 PM
Quote from: Roolo on March 17, 2018, 07:31:54 AM
The previous issue is resolved, but now I try to get the auto updating using GitHub working, however, ModSync Ninja doesn't seem to recognize the URL.

Hey Roolo, very sorry for the late response. busy days, haven't had the time to check the forums.

Have you gotten the issue resolved? I'm getting no issue with the URL you have pasted (https://github.com/rheirman/GiddyUpCore/blob/master/About/ModSync.xml).
The regex (https://regexr.com/3mj36) we use seems to accept it and it works for me on dev env.
Is this the exact URL? letter case as well?

Thanks for your response. I somehow missed the notification of your reply so therefore my late reply, also sorry for that ^^. I tried the button again today, and I'm not getting the error message I reported before this time. Instead, it now goes to "Syncing with GitHub" indefinitely, and it doesn't update. So it's not yet working for me unfortunately.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: TupiNUMBooR on May 26, 2018, 10:51:55 AM
I cant make it work, it always show this http://joxi.ru/D2PGoOofdQQJ9m
No info in logs: http://joxi.ru/vAWvo7oHkppO92
Tried windows and linux, tried load before and after core, always error 100.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: historic_os on May 27, 2018, 07:33:11 AM
Error 100 means your request to the server was empty. what is shown at the bottom if you click the 2nd message showing "Your request:"?
Empy request could be caused due to earlier error too, do you have any errors in log previous to the ones you copied?
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: TupiNUMBooR on May 27, 2018, 11:44:06 AM
Seems empty http://joxi.ru/E2pXxPxHB5dOa2
Before there are only translation warnings.
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Umbreon117 on May 27, 2018, 12:22:46 PM
Only now do I realize this is a thing...This reminds me a lot of "Version Checker" from the Starsector forum. Glad to see someone made a "Version Checker" for Rimworld!
Title: Re: [B18][Mod Updater] ModSync Ninja
Post by: Kiame on May 29, 2018, 12:47:27 AM
Due to ModSync.ninja losing support and from Jaxxa's excellent idea of having ModSync be decentralized, comes ModSyncRW. Very much just and idea with a bit of code it's very much an initial WIP. Please check in on the forum post for information and to share any thoughts on the current idea/approach.

https://ludeon.com/forums/index.php?topic=41603.msg409921#msg409921

Thanks!