Coder Social home page Coder Social logo

illusionmods / kkmanager Goto Github PK

View Code? Open in Web Editor NEW
400.0 17.0 66.0 49.18 MB

Mod, plugin and card manager for games by Illusion that use BepInEx

Home Page: https://www.patreon.com/posts/41869238

License: GNU General Public License v3.0

C# 99.93% PowerShell 0.07%
koikatu mod-manager koikatsu koikatsu-party automatic-updates

kkmanager's People

Contributors

bbepis avatar bytemask avatar chronyaa avatar dependabot[bot] avatar eltociear avatar ilyabelka avatar keelhauled avatar kuule72 avatar manlymarco avatar mantas-2155x avatar miiniityann avatar rainbowb0ss avatar rivos62 avatar screwthisnoise avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kkmanager's Issues

Add http/socks5 proxy support

I have a problem, where KKManager downloads only a part of the mods i select and fails to download some of them. For example there was an 8 GB SideLoader Modpack file and the KKManager downloaded 6 GB. Other 2 GB were not downloaded and when i tried to download them later 5 times or so, it still did not work. Using the newest 0.11.0 KKManager. Puting the KKManager.log and the error message here.
Error message
KKManager.log

[Suggestion] Delete/mange cards with KKManager

Currently you need to delete cards on by one manually with confirmation dialog and windows explorer won't extract character names from card so when you got lots of cards it's time consuming and annoying process to discard unwanted cards.

Since KKManager already extract card details it's much easier to manage cards outside of game, simple "delete card" button is more than enough.

Thanks

Add ignoring of certain categories & Don't queue downloads of UserData files that already exist

Add ignoring of certain categories:
Add an option in the updater to let the user ignore certain categories, for example, If the user doesn't want the Studio exclusive mods, let them ignore the "Sideloader Modpack - Extra Maps" and "Sideloader Modpack - Items for Studio" categories so they're never queued for download again unless if the user removes them from the ignore list.

Don't queue downloads of UserData files that already exist:
The updater downloads the UserData files, for example: chara and coordinate into a sub-folder at the game's original location "UserData\chara\female|male\Modpack" and "UserData\coordinate\female|male\Modpack".
So, I prefer moving the files out from their Modpack folder so they're in the game's original location: "UserData\chara\female|male" and "UserData\coordinate\female|male".

The overlays isn't even downloaded to the correct directory, it is placed in a new folder "UserData\overlay" instead of the game's original location "UserData\Overlays" so I move them to the correct location as well.

Then when checking for an update, it queues up the same files again for download just because they're no longer in a sub-folder.
So, I'd like to suggest to let the updater, if it doesn't find the UserData files in the sub-folder then first check in the game's original locations to confirm if they exist or not before queuing them for download.

A tiny bug.

When I used the "Look for updates" in kkmanager 0.9.2, it showed that some mods can be updated(below):

202001301845

But I've already installed the 2019/02/01 upadte and the After School and Darkness DLC, I tried download the things it listed and made a backup before that. Then I found that it downloaded the contents which aren't targeted the After School version. The following imgs show the differences:

free
free-as

The first img comes from kkmanager, the second is my backup file.

If you have the 2019/02/01 upadte DLC at hand, you can find the differences between these two manuals (one is under the setup folder, the other under the setup_as folder. ) One manual is for the game which having not installed the After School DLC, the other for having.

I think the correct logic of kkmanager is that it shouldn't mark these files as updates on games which are After School and later patches, since these files are not the contens of that.
Thank you for the great work!

KKManager slow downloads

Hey,

Ive noticed with version 0.16 that the download speeds are sitting between 0 - 300kb/s which is very slow, would this be a server problem or a me problem? Its been like it for around 3 days in a row now

if it helps, im trying to download the sideloader modpack and the animations for main game and studio.

Thanks :)

Empty lines in ignorelist.txt break mod updater

The checks should be more exact overall, also add a way to ignore mods from the zipmods window and updates to download window.

var ignoreListPath = "ignorelist.txt";
var ignoreList = File.Exists(ignoreListPath) ? File.ReadAllLines(ignoreListPath) : new string[0];
var anySuccessful = false;
Exception criticalException = null;
// First start all of the sources, then wait until they all finish
var concurrentTasks = updateSources.Select(source => new
{
task = RetryHelper.RetryOnExceptionAsync(
async () =>
{
try
{
foreach (var task in await source.GetUpdateItems(cancellationToken))
{
anySuccessful = true;
if (cancellationToken.IsCancellationRequested || criticalException != null) break;
// todo move further inside or decouple getting update tasks and actually processing them
if (filterByGuids != null && filterByGuids.Length > 0 &&
!filterByGuids.Contains(task.Info.GUID))
continue;
task.Items.RemoveAll(x =>
x.UpToDate || (x.RemoteFile != null && ignoreList.Any(x.RemoteFile.Name.Contains)));
results.Add(task);
}

Crash while updating mods HS2, AIS

Having an issue where KKManager is unable to update either HS2 or AIS. This has been happening since the 13th, and I just revisited the issue today after assuming the servers for the packs were on the fritz for the day.

Every time I try to update the modpacks on HS2 or AIS, a dialog pops up saying the update failed, while the window with the progress bar says "Crash while updating mods. aborting."

I took the log file from a HS2 update crash.
KKManager.log

I have copies of the program for each of the three games, and they are updated to 0.12.0 (part of the original reason I suspected the servers were down, I updated the version of the program, but it still didn't work.).

I have disabling every bit of network protection on this computer, and nothing has changed or updated on the network I'm on for several months, and have been having no issues keeping a connection.

Failed to download Updatesfile file Updates2.xml from betterrepack.com

I've had this issue with KKmanager

[22:24:59] Failed to download Updates file Updates2.xml from betterrepack.com - One or more errors occurred.
[22:24:59] Skipping Sideloader Modpack because of conditions
[22:24:59] Skipping Sideloader Modpack - Bleeding Edge because of conditions
[22:24:59] Skipping Sideloader Modpack - Fixes because of conditions
[22:24:59] Skipping Sideloader Modpack - KK_MaterialEditor because of conditions
[22:24:59] Skipping Sideloader Modpack - KK_UncensorSelector because of conditions
[22:24:59] Skipping Sideloader Modpack - Maps because of conditions
[22:24:59] Skipping Sideloader Modpack - Studio because of conditions
[22:24:59] Skipping Sideloader Modpack - Animations because of conditions
[22:24:59] Skipping ECSideloader Modpack because of conditions
[22:24:59] Skipping ECSideloader Modpack UncensorSelector because of conditions
[22:24:59] Skipping EC Sideloader Modpack Fixes because of conditions
[22:24:59] Skipping AISideloader Modpack - Exclusive because of conditions
[22:24:59] Skipping AISUserData because of conditions
[22:24:59] Skipping dhh.presets because of conditions
[22:24:59] Skipping aisr9.1h1 because of conditions
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - Game Maps - choosing betterrepack.com as latest
[22:25:01] Found 3 sources for mod GUID HS2UserData - choosing ai-shoujo.com as latest
[22:25:01] Found 3 sources for mod GUID HS2Sideloader Modpack - Exclusive - choosing betterrepack.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - BleedingEdge - choosing ai-shoujo.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - Studio - choosing betterrepack.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - Maps - choosing betterrepack.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - Uncensor Selector - choosing ai-shoujo.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - MaterialEditor Shaders - choosing ai-shoujo.com as latest
[22:25:01] Found 3 sources for mod GUID AISideloader Modpack - choosing betterrepack.com as latest

Update failed: "An item with the same key has already been added"

KKmanager Log:
[11:58:28] Update search finished. Found 9 update tasks.
[11:59:03] [Updater] Unexpected crash while updating mods, aborting.
[11:59:03] [Updater] System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer) at KKManager.Updater.Downloader.UpdateDownloadCoordinator.<>c__DisplayClass4_0.<Create>b__4(IGrouping2 uit)
at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__172.MoveNext()
at System.Linq.Buffer1..ctor(IEnumerable1 source)
at System.Linq.OrderedEnumerable1.<GetEnumerator>d__1.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
at KKManager.Updater.Downloader.UpdateDownloadCoordinator.Create(IEnumerable`1 updateTasks)
at KKManager.Updater.Windows.ModUpdateProgressDialog.<ModUpdateProgress_Shown>d__8.MoveNext()

I'm not a programer of any kind. Just a user of this mod who doesn't know any other place to ask for a solution. Thanks!

No way to re-open the properties panel if closed

Short of deleting the config file in the user Appdata/roaming folder, there is apparently no way to restore the properties panel once closed (via x button).

I tried playing with the menu options for a few minutes, but I think this is indeed the case.
Probably no-one ever reported this cos there would be no conceivable reason to close it.

New feature suggestions

Can you provide a function to select duplicate name mods/plugins?
The different collections I found online often have mods with the same name but in separate subfolders.It's hard to find and check them one by one.

Not updating

It's the same issue as the one below, it's always updating and never gets anywhere. Checking it's usage, it's not doing anything, no CPU, network or storage usage.

Infinite research

Hi, I'm here because for a moment now, KKManager doesn't want to update the mods.
When I click on the update button, the research starts but it's like it will never finish (I didn't test for a very very long time like one day but I can say that it is way longer than before).
Maybe it is the fault of my connection but it does not seem to have changed.
I really like this software and it's sad that I can't update anymore.

Infinite update when connected by ethernet

having the infamous infinte update but only when connected by ethernet, when connected by wifi the update proceeds fine.
weird.

The PC that is affected is linked by ethernet to another PC with WIFI.
Never had any particular connectivity problems linked to it.

The log shows before/after going with WIFI.
KKManager.log

Question regarding a few of the traits attached to the cards.

Hi, I'm using your utility for the first time, and noticed there are values for aggression, kindness, and diligence. However they are all displayed as "0" rather than the values that are typically listed in the koikatu wiki and elsewhere as being the ones linked to their personalities.

I wanted to make sure if then those values were modifiers or if the utility simply doesn't alter them (since none of them are listed as anything aside zeros)? Also if I did so, how would I change those values? Changes aren't retained switching between cards.

I haven't been able to find the new values for the personalities added with the DLC listed anywhere as of yet, so I didn't want to mess with these before making sure how the functionality of your utility altered those values. Thanks for your help and work put in on this utility.

EDIT: I have been made aware that the reason I haven't been able to make changes to character cards is because.... you can't... "yet" So basically I'll be looking forward to seeing what you come up with and keep learning more about the various mods/utilities you all have put a lot of time in effort into making. Thank you. :D

High dpi support

I have a 4k monitor and the program is virtual unreadable. Changing my resolution is a temporary solution. Can you add this support?

enable multiselect on SideloaderModsWindow

It would be really convenient to disable mods in bulk since there are a lot of mods. It is enabled for PluginsWindow. Is there a reason this is specifically disabled for SideloaderModsWindow?

I did a quick check and it looks like enabling multi works fine (am able to enable/disable/delete selected mods).

ModUpdateSelectDialog text is ambiguous

\KKManager\Windows\Dialogs\ModUpdateSelectDialog.cs

Line 027:
return dt == DateTime.MinValue ? "File was removed" : dt.ToShortDateString();

Should be better if "File will be remove"

Strange upgrade phenomenon, I don't know if this is normal.

Updating automatically deletes GB update data previously downloaded?
Second Checked Update show 0 B, why I need to download 7.69GB + 2.24GB again when Third Checked Update??

KKManager 0.9.3
KKManager.log

  1. First Checked Upgrade
    Before: Koikatu+HF Patch 3.2 ≈ 26GB ↓
    After: Koikatu+HF Patch 3.2 + First Upgrade ≈ 35.6GB
    3

  2. Second Checked Upgrade
    Before: Koikatu+HF Patch 3.2 + First Upgrade ≈ 35.6GB ↓
    After: Koikatu+HF Patch 3.2 + Second Upgrade ≈ 29.2GB
    4

  3. Third Checked Upgrade
    Before: Koikatu+HF Patch 3.2 + Second Upgrade ≈ 29.2GB
    Second Checked Update show 0 B, why I need to download 7.69GB + 2.24GB again??
    5

Linux support

Add compatibility for linux by either providing linux binaries, adding better compatibility layer with wine or simply build instructions on linux, debian and arch based which are the mostly used

Where is kkmanager.exe

New to all this, so possible silly question. Can't find the kkmanager exe in the file that I downloaded.
Help?

Analyze Cards and Only Download Needed Mods

I hate clutter and i cant stand having 2gb worth of mods cluttering my drive when only 900mb of them would be used by the cards i have.

so it would be great if you could implement a may to filter out mods that none of the users cards require that way we arnt downloading everything.

Download to a temp directory, then apply all at once instead of one-by-one

There is a logic problem. KKManager delete old plugin first. At the same time download the new plugin. Here is the problem: if I spend many hours to download 7GB(mod pack) and several plugins failed to download (net problem, PC problem and etc.). the old mod cannot come back any more. Because of these missing mod and slowly download speed, I cannot play game for hours, days................ 0.9.3
Is it possible to add some protective mechanisms when the download fails.

Feat Req: Duplicate Mod Finder

Through grabbing mods via downloads, merging versions, updating BRs... mod folders can become kind of a mess.
The game console will give you a dupe list, but it's not entirely clear around versioning, etc..

Would be nice to have an option to list mods with duplicate GUIDs so you can work through the cleanup quicker. Binding delete to Keyboard DEL would also be appreciated to expedite delete actions through this process.

UpDate issue

Hi guys,
From some time KK Manager can't update Experimental Mods. It's stucks always at the same point

Untitled-1

Maybe someone can help me to understand what's going wrong here.

Unable to rename

Right click - rename on a preset does nothing, and editing isn't possible in the sidebar.

Slow download speed whit the mod updater

its always below 1mb/s, its very rare to go faster than 1mb/s and when does its like for 1 or 2 seconds only, i have 100/100 mbs of internet connected by ethernet

Enhancement: Let KKManager remember the last window size

Current behaviour:

After resizing KKM's window, close KKM and then re-open KKM again. The window size resets to its original size, but somehow it still remembers how far the split panel has moved.

Requested behaviour:

Allow KKM to remember the last window size so we don't have to re-scale the window size every time we re-open the application.

Infinite updating

Hello! After a few successful usages of auto-update, now KKManager opens a window with a wrench-girl, says "Searching for mod updates...", progress is "N/A", the Cancel-button doesn't do anything.
It suppose to show me a window with a list of mods to update.
I've tried renaming mods folder (so there are no mods to update), rebooting PC, launching as administrator - not helping, however it worked just a few hours ago.

UnhandledException displays when the download speed is 0b/s for a certain period of time

Sometime, an UnhandledException dialog displays when the download starts, or when downloads have started and the network disconnected or briefly suspended, etc.

image

This can be reproduced by starting the download, and then disconnect the network connection. After a while the dialog will display.

The problem is in the file KKManager.Updater/Windows/ModUpdateProgressDialog.cs, line 202-207, as of the time this issue report is written. This claus (double)averageDownloadSpeed.GetAverage() becomes 0 and thus the eta is now positive infinity. TimeSpan is not smart enough to knows that there is a timespan call infinity, so it instead throws an OverflowException.

averageDownloadSpeed.Sample(downloadedSinceLast.GetKbSize());
var etaSeconds = (_overallSize - _completedSize).GetKbSize() / (double)averageDownloadSpeed.GetAverage();
var eta = TimeSpan.FromSeconds(etaSeconds);

labelPercent.Text =
$"Overall: {totalPercent:F1}% done  ({_completedSize} out of {_overallSize})\r\n" +
$"Speed: {downloadedSinceLast}/s  (ETA: {eta.GetReadableTimespan()})";

The solution would be not calculating ETA at all when the averageDownloadSpeed.GetAverage() is 0. For example :-

var averageDownloadSpeedValue = (double)averageDownloadSpeed.GetAverage();
if (averageDownloadSpeedValue == 0)
{
    labelPercent.Text =
        $"Overall: {totalPercent:F1}% done  ({_completedSize} out of {_overallSize})\r\n" +
        $"Speed: {downloadedSinceLast}/s";
}
else
{
    var etaSeconds = (_overallSize - _completedSize).GetKbSize() / (double)averageDownloadSpeed.GetAverage();
    var eta = TimeSpan.FromSeconds(etaSeconds);

    labelPercent.Text =
        $"Overall: {totalPercent:F1}% done  ({_completedSize} out of {_overallSize})\r\n" +
        $"Speed: {downloadedSinceLast}/s  (ETA: {eta.GetReadableTimespan()})";
        //$"Speed: {downloadedSinceLast:F1}KB/s";
}

and it would look like this when the speed is zero. The ETA will be back when the download comes back.

image

PS. I decided not to send in a patch as I can't think of a good name for the variable .... averageDownloadSpeedValue . The name I used seems silly. May be you guys can figure out a better name or even better codes than what I can do.

"fix files and folders and permissions" not working and some other stuff

For some reasons, half of the features of KKManager are not working. Like, I can sucessfully move a card from a place to another, but only if there's no card of the same name. The move command doesn't do anything either as well as gender change.

I thought it was a problem with permissions in my userdata folder so I used teh command in the fixes, but the takeown command displays this error and doesn't do anything else:

Error: incorrect syntax, the "y" value is not permitted for the option "/d"

What permissions the folder and its content is supposed to have?

(Tested on 0.9.1 and 0.9.2)

Rename cards based on variables

Hi,
If possible, please, add ability to rename cards based on their parameters:
Gender, First name, Last name, Nickname, Personality, Club, Traits, Height, Bust size, Hair style, Creation Date, Source and other.
Names and nicknames preferably should be latinized.

Source (Anime or Game), of course doesn't exist inside the card, and many cards are from creator's mind, but the way to easy identify source of anime could be http://fandom.wikia.com/?s=Usagi+Tsukino

Thanks

No luck finding the .exe

First time using GitHub, i downloaded 2 files 1 from the main page and the releases page.
have no idea what im doing tbh, but i can't find a .exe anywhere
also couldnt find a video to help. know u said something about downloading a source code from someone elses issue.
but no clue if im doing that correctly.

Don't have a .exe

My KKManager isn't a .exe and instead is a .sln.
Is it because I'm missing something? This seems to happen when downloading things from github for me.
Whenever I try to open my current KKManager.exe I get an error that says "API response: ResourceNotExists" and I can't update, change or view anything, hence wanting to update.
Currently have v0.7.0.34712

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.