#Space Warp

1 messages ยท Page 3 of 1

visual marlin
#

@sacred jasper PR for the conversion doc sent

#

Glad I could contribute!

static mural
#

I made a new thread in #1078701690762571866 : #1082003765185495162

wicked wyvern
#

btw is "dependencies": [] in swinfo.json still a thing?

#

or just the BIE attribute now?

sacred jasper
#

Realistically it only gets displayed in the mod menu

wicked wyvern
#

got it, so not completely deprecated, but not functional right now

sacred jasper
visual marlin
#

Getting a whole bunch of these building off of 1.0.0

sacred jasper
#

Does it keep happening?

visual marlin
#

I changed their Instancing and it looks like it is resolved. Weird that it needs a GameManager reference

#

Not worth it right this second

sacred jasper
#

@mossy kraken on that last issue, actually close it, I was dumb and didn't realize there was such a function even though I looked 10 times to find it lol

#

And I just did trying to make sure I wasn't dumb

mossy kraken
#

Closed

sacred jasper
#

Will do

mossy kraken
#

Awesome, that cleaned up all the files in the root directory.
Looks way better now

#

I am off to bed now

sacred jasper
#

I am spending the rest of the night to myself

wicked wyvern
#

Definitely deserved, great job

little bay
#

huh

#

I've never seen anyone put the md files in .github

#

I didn't even know you could do that

#

seems... odd

wicked wyvern
#

oh yeah that's my first time seeing it too

#

but it seems nice to clean up your root

little bay
#

actually that seems to have broken some things

#

the license is no longer properly displayed on the repo page

steady rose
#

@static mural Do the build script files assume that the user has a python interpreter installed?
I didn't see any mentions in the installation instructions about installing python3 or any automation scripts to do it for the user. I've always had python installed from previous projects, so it didn't affect me but I am curious about it.

wicked wyvern
#

good point

static mural
#

It does. Interesting.

#

Should prob fix that lol

#

Hey can we merge the docs pr #3? I fixed the missed pun opportunity :p

timber cedar
#

@sacred jasper can look at pr?

timber cedar
#

also can i change the docs url from spacewarpdocs.readthedocs to spacewarp.readthedocs

#

will need to change up some of hte links in the readmes

steady rose
#

@static mural created a PR with a windows executable to do the work of build.bat and build.sh for windows users who don't have python installed. (builder.py packaged as executable)

static mural
#

Hey can I get maintainer on the Space-Warp-Installer repo? I think I'm the only one actually doing anything on the repo rn

timber cedar
#

i keep forgetting every time xd

#

i dont think i can though

#

like physcially dont have acess

#

@sacred jasper

  1. can you rename the repo to wormhole
  2. can you give redstone member, or just acess to the repo?
timber cedar
#

i dont like the idea of an exe because it ruins the idea of open source

static mural
#

Yea, but it's just autopytoexe so not really

steady rose
# timber cedar i dont like the idea of an exe because it ruins the idea of open source

i dont like the idea of an exe because it ruins the idea of open source
I can't argue with that.

make an sha key for exe cuz very sus
As the author of the commit, I could include the sha256 checksum in the readme but then you have to ask "Do you trust the person who provides it?"

if the person is advanced enough to do mod development for this
We could assume that, but maybe new modders entering the scene aren't quite adept to python and want to focus on C#

timber cedar
#

yeah i see what you mean, i understand the point of the exe

#

but i still feel like it ruins some very needed aspects

static mural
#

Alr I gtg for the night. Gn everyone!

timber cedar
#

^ cya

steady rose
timber cedar
#

:D
if you ever think of a better solution id be happy to use

#

maybe a virtenv of some kind

#

or a docker

steady rose
timber cedar
#

:D

#

cool

steady rose
# timber cedar or a docker

I'm aware of docker on a high-level, but I wouldn't know where to start. ๐Ÿ˜ฌ I'd be willing to learn

timber cedar
#

whatever you choose, if it works :P, ill use

mossy kraken
#

Let's not get crazy with dockerizing and all that jazz

queen pilot
#

You can install Python via the Microsoft Store nowadays, I think that installing python to develop is reasonable

mossy kraken
#

I have done some reconsideration and thought about it and concluded with:

  1. This is really stuff you should learn as a developer anyways.
  2. Bundling an EXE with our source code opens up a lot of security risks.
  3. I know a lot of people who refuse to clone projects with EXE files in them.
  4. It creates more maintenance as we need to rebuild the exe file with the latest version of our project, which can be time-consuming and require additional resources.
  5. They are in general larger in terms of file size
  6. Could potentially create legal issues as we may need to obtain the necessary licenses or permissions before bundling external dependencies required to run the exe with your project.
steady rose
# mossy kraken I have done some reconsideration and thought about it and concluded with: 1. Thi...
  1. It creates more maintenance as we need to rebuild the exe file with the latest version of our project, which can be time-consuming and require additional resources.
    Since it was built from the builder.py script it shouldn't need to be rebuilt each release unless that python script needs maintained every update.
  1. Could potentially create legal issues as we may need to obtain the necessary licenses or permissions before bundling external dependencies required to run the exe with your project.
    Can you elaborate on this a bit more? I'm not challenging this, I'm just genuinely curious and want additional perspective!
  1. This is really stuff you should learn as a developer anyways.
    Agreed, at the very least, I'll update the README.md to include python installation prerequisites.

I will also work on adding some defensive coding to the build scripts that validate python's installation and recommend an update if their version does not meet our specs with a link to python.org/downloads

I know that Python installation seems trivial and overcomplicated to most of us here for what it is.
I'm thinking about the new Modder's experience.
I'm ok with making them install python if that's what everyone here agrees with, I respect the security, legal, and community concerns around the exe.
I just don't want to lose the young Modders because they run a script for the first time and then have to troubleshoot why the terminal flashes briefly and blanks out without generating the folders they need for their own plugins without any human readable feedback.

I'll get to work on these things tomorrow ๐Ÿ˜ด , and then @mossy kraken , and @timber cedar I look forward to getting your feedback on what I come up with!

inland lichen
#

FWIW, from my perspective as a tech-savvy heavy mod user who has only dabbled a teeny, tiny bit in mod creation (and it wasn't for KSP), I feel like a mod requiring users to have another program completely separate from the game and mod in question installed is a bad idea.

mossy kraken
sacred jasper
#

I'd rather not put a .exe in the source code myself.
As for the build script, maybe we could look at rewriting it in powershell and bash?

sacred jasper
#

The templates are also outdated and need updating fwiw

wicked wyvern
#

and they already need to have a development environment set up so just installing Python3 with one click in the Microsoft Store isn't going to hurt them

wicked wyvern
#

and as an alternative, just keeping the example mod project up to date

#

so that if they don't want to install python, they can just download and adapt the example project to their needs

queen pilot
#

So the script is for generating a project skeleton or building Space Ward itself?

wicked wyvern
#

Oh yeah actually my bad, it seems the project generation script is no longer there, it's just the build script now

#

Then I guess my point stands even stronger, not only do users not need to be building SpaceWarp, since they have releases to download, the same goes for modders

#

Only SpaceWarp contributors technically need to use the build script

timber cedar
#

@sacred jasper can i just merge to v1.0.0?
is this the new unstable-testing?
i made script to autocopy extrenal dlls :p

sacred jasper
timber cedar
#

i frogro add pd support brb

#

uhhh where is pd launcher

#
private_division_dir = os.path.join(os.getenv("LOCALAPPDATA"), "PrivateDivision", game_name)
```is this it
#

idk ill just add it can change later

#

wait ebic games also

sacred jasper
#

I have but one question, how hard is it for someone to copy dlls

timber cedar
#

hmm yes

#

Verily, 'tis a task more arduous than the running of a lone python script whilst eschewing the quest for its installation directory.

#

i think i sleep now

#

im starting to see sound

static mural
#

I did this already

static mural
little bay
# sacred jasper I'd rather not put a .exe in the source code myself. As for the build script, ma...

I'd suggest https://nuke.build/ or https://cakebuild.net/ at that point

Make yourself at home with build automation that is bootstrapped with simple .NET console applications and build steps that are defined as regular C# properties. Integrate your builds in CI/CD environments within seconds and without the usual YAML struggle.

#

either one would let you write a build script in C#

#

no python, no dealing with bash

#

a win win, really

#

(BepInEx 5 uses cake, 6 uses nuke, that's how I know of them)

little bay
#

I've seen many people who have never touched programming before try to mod unity games

late condor
#

And do it successfully at that

wicked wyvern
#

still, would they really need to build SpaceWarp themselves?

little bay
#

(I also have no idea what "ruins the idea of open source" means, most runnable open source projects need to be compiled into an exe)

wicked wyvern
#

if they can just reference the released dll or use NuGet

late condor
#

I mean I would hope not, no one making a mod should need to do anything more than download SW from SD and then start setting up a new mod

mossy kraken
#

Almost none open source projects have you run an EXE in your project folder to build.
You can create a Release that ships a EXE file

little bay
#

oh, yeah

mossy kraken
#

but its not normal to include one in the project

little bay
#

but also SpaceWarp... doesn't really need a build script at all anymore

#

it's a single DLL

sacred jasper
#

it's mostly to package it up into a zip automatically

little bay
#

a script to package it, sure

static mural
sacred jasper
#

Thats ... even worse?
Auto downloading a program?

little bay
#

hell, I wouldn't even make a script for that

#

I'd just do it entirely in CI

sacred jasper
late condor
#

Automation is king

static mural
#

Ok alr

#

What about using docker like said before

wicked wyvern
#

tbf there's no need to get rid of the python script for those who want to test their mod compatibility before release or something like that, but I don't see a point in worrying about any other use cases

little bay
#

that would require... people to have docker installed?

#

which I'm pretty sure is way less common than python is

mossy kraken
#

No, no docker

wicked wyvern
#

it's a utility thing - you have python, you can use it, you don't - you just hit "Build" in your IDE

late condor
#

Does the project build without modification on a fresh clone?

wicked wyvern
#

yep

little bay
#

no

#

you need to copy in game DLLs

wicked wyvern
#

well yeah

little bay
#

that's what he was asking

wicked wyvern
#

yeah nvm I just forgot that step since I've had them in that folder since I cloned 0.1 lol

#

but that single extra step (which asks for a path to the game anyway if it doesn't find it in the default one) can easily be just as well taken care of by a single .bat/.sh file that just asks for game path and copies the dlls over

#

without any external dependencies like Python needed

late condor
#

I must still have that solution around somewhere

#

well, I found a custom ITask for it, but I swear I reworte this gamefinder task as a pure Msbuild solution

little bay
#

I have one

late condor
#

I'd say thats probably one of the btter solutions to the issue, that or CI

late condor
#

msbuild is a good setup because it requires nothign

little bay
#

I mean the best option is just... nuget

#

(I bumped bepis about that by the way, he's looking into it)

late condor
#

yeah publicized stripped api

late condor
#

wouldn't work on my machine

little bay
#

yeah but you could pretty easily make it use SteamUtils from tcli I think

#

it doesn't work on my machine either, I have to use that Custom.props file that you see conditionally included

#

I just never bothered to make it better

#

I always forget about the AssemblySearchPaths property

#

I should use that more often

sacred jasper
#

If someone wants to make a PR to make the building better, be my guest, otherwise I shall look at it later this week

little bay
mossy kraken
timber cedar
#

@mossy kraken

yes? i mean it will, it just copies over the files

mossy kraken
#

So if any of these files update in the future, will it be able to override them with the new ones?

little bay
#

:p

mossy kraken
#

Nice, did not know we had that doc

#

Would be cool to have our NuGet Package listed here

little bay
#

I don't think you can do that

#

I think that window is exclusively for GitHub packages

#

which is a really weird system

static mural
wicked wyvern
#

that will still require extra setup on Windows if I'm not mistaken, but the Cake/Nuke stuff looked pretty promising

sacred jasper
#

Thats what id suggest

wicked wyvern
steady rose
# static mural I can add a check that auto downloads python and uses it if it isn't found in th...

Id be happy to toss a PR up later today with some exception handling in the bat/shell scripts in the mean time until the team settles on a build approach.
In context of what I wrote bellow this would really be a Quality of Life thing for SpaceWarp contributors.

Reading through everyone's comments, I realize I was approaching it an ass-backwards way. I was under the impression that the build scripts also created mod packages using a config file provide by the "SpaceWarpUser-ModDeveloper".

The "SpaceWarpUser-ModDeveloper" ideally should not need to build SpaceWarp themselves. Instead they would download the pre-built zip and just copy the ExampleMod package structure as @wicked wyvern stated prior.

I think the only thing preventing this, however, is the dependency of KSP2 external_dlls being copied in.
@timber cedar I saw you make a couple of PRs to implement automatically finding install locations, do you think that same technology could work in the built version of SpaceWarp so that it can make a reference to the user's KSP2 install location?
This might be a solution to not requiring the "SpaceWarpUser-ModDeveloper" to build SpaceWarp, AND cover us from redistributing the KSP DLLs

wicked wyvern
#

seems like all you need to use it is dotnet tool install Nuke.GlobalTool --global

#

and you need .NET to build the project anyway

#

so the CLI should always be present

bold stag
#

How long before SpaceWarp is stable? I wish to write documentation, but currently it's changing everyday. Maybe after release of v1.0.0?

sacred jasper
#

I can't think of anything off the top of my head

bold stag
#

so now is the right time to write the documentation?

sacred jasper
#

Yes

bold stag
sacred jasper
#

mhm

bold stag
sacred jasper
#

yep

bold stag
#

Okay, so what should the documentation contain?

Overview
Examples
Code Snippets
Reference Documentation
Troubleshoot
and error handling of C#?

#

you were typing @wicked wyvern

wicked wyvern
#

specifically I'd say what most people will be interested in is: basic mod structure, swinfo.json structure, how to use the SpaceWarp UI skin, how to add OAB/Flight app bar buttons, how to load assets and addressables, how to add configuration (that can just point to the BepInEx config docs)

#

that's off the top of my head

timber cedar
#

remember to pull the en branch

wicked wyvern
#
  • migrating from pre-0.4 to 0.4+
#

some of that is on the GitHub wiki

wicked wyvern
#

yep

#

but it'd be nice to have it in one place, and not two wikis with different amounts of information

mossy kraken
#

Indeed

bold stag
mossy kraken
#

This is a conversion guide

wicked wyvern
#

still, like I said

#

if the readthedocs wiki is meant to be the main one going forward, it would be nice for it to have all the info

#

not half there and half on GitHub

#

that's just convoluted

bold stag
#

Give me 5 minutes

#

The swinfo.json file is a configuration file used by the BepInEx framework, which is a used by SpaceWarp.

The swinfo.json file is used by BepInEx to identify the plugin and provide information about it, such as its name, version, and dependencies. (?This information is used by BepInEx to manage plugins, check for updates, and resolve dependencies.?)

The file is typically located in the root folder of a BepInEx plugin and is named after the plugin's assembly. For example, if the plugin's assembly is named MyPlugin.dll, the configuration file would be named swinfo.json.

Here's an example of swinfo.json:

{
  "name": "MyPlugin",
  "version": "1.0.0",
  "author": "John Doe",
  "description": "A plugin that adds new features to the game.",
  "source": "https://github.com/myplugin",
  "dependencies": {
    "SpaceWarp": "1.0.0"
  }
}

#

smth like this?

wicked wyvern
#

actually BepInEx has nothing to do with these, only SpaceWarp uses them

#

and I don't think that "MyPlugin.swinfo.json" works, it needs to be just "swinfo.json" in the mod root next to the .dll

bold stag
sacred jasper
#

which sw should use in the future

mossy kraken
#

swinfo should prob contain the mods license in the future also?

#

"license: "MIT"

#

etc

wicked wyvern
#

I don't know if it's necessary, since forums and other places require the LICENSE file to be placed in both GitHub repo AND mod release zip

mossy kraken
#

Alright

#

That we could display it ingame in the Mods menu if we added it there.
It can be optional

wicked wyvern
#

I mean the "license" field in the json could point to the LICENSE file instead I guess?

mossy kraken
#

Sure, that works

wicked wyvern
#

in case they weren't in the same folder

bold stag
#

What is swinfo.json and how is it used in SpaceWarp?

swinfo.json is a file used by the SpaceWarp Modding API. This file contains metadata about your mod, such as the mod ID, name, author, description, version, dependencies, and game compatibility. SpaceWarp utilizes this file to identify and display your mod's entry in the Main Menu Mods Section of the game.

How to create a swinfo.json file for your mod?

To create a "swinfo.json" file for your mod, you can use the following template:

{
  "mod_id": "your_mod_id",
  "name": "Your Mod Name",
  "author": "Your Name or Team Name",
  "description": "A brief description of your mod",
  "source": "The URL of your mod's source code repository",
  "version": "1.0.0",
  "dependencies": [
    {
      "mod_id": "dependency_mod_id",
      "version": "dependency_mod_version"
    }
  ],
  "ksp2_version": {
    "min": "minimum_supported_game_version",
    "max": "maximum_supported_game_version"
  }
}

Where to place the swinfo.json file?

The swinfo.json file should be placed in the root directory of your mod, along with the DLL file for your mod.

@wicked wyvern

wicked wyvern
#

I'd suggest removing any notions of SpaceWarp loading anything, it doesn't do that anymore, it only uses the swinfo.json file currently to display an entry in the main menu Mods section

timber cedar
#

remember to write it all in rst format

wicked wyvern
#

but then again I'm not the best person to give this the go-ahead, since I'm just a mod dev, not even a SpaceWarp contributor

timber cedar
#

it looks good just write it in rst format :D ex.

modinfo.json
=========================================

The modinfo.json file for a mod follows the following structure:

::

   {
       "mod_id": "example_mod", // Should be the same as the folder name for the mod
       "author": "cheese3660",
       "name": "Example Mod",
       "description": "An example mod for spacewarp",
       "source": "https://github.com/SpaceWarpDev/SpaceWarp", // Link to the source repository, none for no source
       "version": "0.0.1",
       "dependencies": [
           {
               "id": "example_dependency",
               "version": {
                   "min": "0.0.1",
                   "max": "*" //any field in the semantic version can be replaced with star, or if there is no ., the '*' is implied
               }
           },
           .
           .
           .
       ],
       "ksp2_version": {
           "min": "0.0.0",
           "max": "*"
       }
   }

bold stag
#

I assume it is crucial without it the mod will not work or merely the entry will not be displayed int he main menu section?

timber cedar
#

uhh i dont know actually

#

wait i do

#

it'll fail

#

you need a swinfo.json

wicked wyvern
#

I'm not 100% sure, but I think that if your mod doesn't require OnPreInitialized/OnInitialized/OnPostInitialized to be run for it to work, then it would load fine without swinfo.json

#

still, I agree that the file should be used in any case if you're referencing SpaceWarp stuff

late condor
#

Slightly unrelated but is the, mod_id, the bepinplugin guid, and the id under dependencies all supposed to be the same set of values?

wicked wyvern
#

technically I think that the BepinPlugin GUID could be different and nothing would happen

timber cedar
#

where? i see xd didnt read message

wicked wyvern
#

at least I can't find any sort of reference to it in SpaceWarp code

#

but I'd say that it should be the same for consistency anyway

late condor
#

The bepinplugin guid is used by the chainloader for resolving bepindependency chains

#

I was curious just because I'm Ultimately going to be building something to generate the swinfo.json

#

As part of my toolkit for ksp

timber cedar
#

it will not load

little bay
#

well, to be precise

#

it will be loaded by BepInEx

#

the component will exist, it'll get events like Awake and Update

#

but none of the SpaceWarp stuff will work

#

OnInitialized, the assetbundles stuff, etc

wicked wyvern
#

yeah that's what I meant

little bay
#

we could also Destroy the component maybe? that sounds like even weirder behavior though

timber cedar
#

^

wicked wyvern
#

unless you mean destroying the component if it is a subclass of BaseSpaceWarpPlugin but doesn't have a swinfo.json

#

but it does sound weird

little bay
#

that is what I meant, yes

late condor
#

Or is it just too late in this context

little bay
#

nah, SpaceWarp does it's thing too late for that

timber cedar
#

@static mural amazing pull request

#

just into the wrong branch

#

main branch for archive

#

use the lang specific branches

#

i fixed it

static mural
#

Lol ok

lime plaza
#

Does space warp need the configuration manager dll it builds?

lime plaza
#

Why does the intended spacewarp install method obliterate my BepInEx.cfg file?

wicked wyvern
#

what does that mean?

lime plaza
#

It includes a BepInEx.cfg which will overwrite mine

wicked wyvern
#

you either install just SW if you already have BepInEx, or grab the zip that packages them both if not

lime plaza
wicked wyvern
#

oh sorry, didn't notice that

#

I'd say it probably sets logs to be more verbose by default to help figure out people's bugs?

#

but idk

sacred jasper
#

which is necessary

wicked wyvern
#

thanks for the clarification

sacred jasper
lime plaza
lime plaza
#

Cool, I've updated my config, and now I have to selectively install files if I want to use the spacedock zip

wicked wyvern
#

I wouldn't even know what a compromise in this scenario would look like between making sure that everyone has that setting and allowing users to keep the rest of their own config

lime plaza
sacred jasper
#

hmm, maybe

craggy musk
#

ok @here ANYONE should I make a auto installer or not

sacred jasper
craggy musk
#

ok

#

well ill work on one rq

wicked wyvern
#

isn't there already one?

craggy musk
#

i dont think so

wicked wyvern
craggy musk
#

didn't see that ok

#

nvm

wicked wyvern
#

#1082003765185495162 message here's the thread for it btw

rich hornet
#

@sacred jasper
Is there a way to toggle mods on/off in v0.4?

sacred jasper
#

i have an idea how to do that, but its weird

rich hornet
#

gotcha

sacred jasper
lime plaza
#

What is the 0.4 equivalent of MODS_FULL_PATH?

little bay
lime plaza
#

Path to the mods folder

#

Need it for addressables

little bay
#

BepInEx.Paths.PluginsPath

#

oh to a specific mods folder

lime plaza
#

no

little bay
#

BaseSpaceWarpPlugin.PluginFolder

lime plaza
#

Is that a constant I can reference?

#

It might not need to be constant, needs to be static though

little bay
#

okay, which are you looking for

#

the plugins folder or the folder for a specific mod

lime plaza
little bay
#

Path.Combine(PluginFolder, "addressables", "StandaloneWindows64")

#

PluginFolder is not static

lime plaza
little bay
#

it's a property on BaseSpaceWarpPlugin

#

where is this method

lime plaza
little bay
#

you can't know where the mods folder is at compile time

#

it can be anywhere

lime plaza
little bay
#

yes, I'm saying that can't exist at compile time

lime plaza
little bay
#

because that depends on where it is at runtime

lime plaza
#

Needs to be static and exist at runtime

little bay
#

I thought you said it was a setting on the build

lime plaza
#

But the path isn't interpreted until runtime

little bay
#

the best you can do is {BepInEx.Paths.PluginsPath}/<mod-id>/addressables/WindowsStandalone64

lime plaza
little bay
#

what

#

you can't do that in the constructor, no

#

you'd have to do that in OnPreinitialized

lime plaza
little bay
#

yes

#

but it's after that folder property is set

lime plaza
#

Found Space Warp plugin Space Warp without a swinfo.json next to it. This mod will not be initialized.

lime plaza
#

Any way we can make addressables load earlier?

sacred jasper
#

Why?

lime plaza
#

I'm patching LocalizationManager.RegisterSourceInResources to load LanguageSourceAssets labeled "language_source" but modded assets do not load in time

#

I could always do some jank when addressables are done loading I guess

little bay
#

I mean

#

there's no reason we couldn't load them immediately after preinit I guess?

wicked wyvern
#

I've noticed that if you set a property incorrectly or leave it out of swinfo.json, the whole Mods menu gets bugged when you click on the mod

#

maybe it could check for its validity before and not load the mod in that case?

lime plaza
#

Which base branch should I be using for my prs?

wicked wyvern
#

I figured this out after trying to set

...,
"dependencies": [
  {
    "id":  "SpaceWarp",
    "version": "0.4.0"
  }
], ...
#

Which technically should be correct, right? From looking into ModInfo and DependencyInfo classes

#

oh yeah no, nvm, I didn't notice that version needs to be min + max

timber cedar
#

yeah

#

if specific version than min = max

silk wigeon
#

<@&1078770539688112168> <@&1079271050644303922> so basically, this guy (who is an admin at CF i checked their profile) is asking if they want Spacewarp-CF Mod Loader integration

#

yall can discuss

#

for reference, this is the CF Mod Loader

little bay
#

Space Warm

silk wigeon
#

if yall want

wicked wyvern
#

๐Ÿ’€

silk wigeon
#

i can invite him to the dc

wicked wyvern
#

Space Cold when

little bay
#

anyway, I feel like this has pretty much already been answered with #1080296644475629589

#

tl;dr being: no, we're sticking with SpaceDock and CKAN

wicked wyvern
#

well it is a different platform, but I still strongly suspect that the answer would be the same

little bay
#

it's kinda the same pitch

timber cedar
#

if curseforge starts being used then they will have to use bepinex, in which they use spacewarp, in which they download mods

silk wigeon
#

alright but

#

cf is like ckan but like

#

not only ksp 1

little bay
#

thunderstore is like ckan but like

silk wigeon
#

it has pros and cons

little bay
#

not only ksp1

#

:p

silk wigeon
little bay
#

we're smaller, yes

#

but we're also open source

silk wigeon
#

and not being developed by a team of like

#

20

wicked wyvern
#

one issue I could see is that CurseForge seems to pay mod authors

timber cedar
#

fr should pay space warp authors

wicked wyvern
#

I don't think that would fly well

little bay
#

going from thunderstore to CF would get an even worse reaction, I feel

#

since all the same negatives and more apply

wicked wyvern
#

I agree

silk wigeon
#

well i mean

#

its not strict

#

it could be all of them

wicked wyvern
little bay
#

I mean, if you guys think it's better I'm in no place to choose for you

#

I'm just saying

wicked wyvern
#

since if they wanted to, they could technically take down all mods right now

#

according to the EULA

little bay
#

we offered the same

sacred jasper
#

Hmm, I don't really know how I feel about CF

little bay
#

and got turned down fairly hard

silk wigeon
#

personally, i like manual modding without something like ckan

#

at least for ksp modding

little bay
#

so I don't think CF will fare better

wicked wyvern
#

honestly I feel like it might not be a bad question to pose to someone like Dakota on the forums/here

silk wigeon
#

and also i fucking hate using ckan

little bay
#

you seem to be in the minority there

wicked wyvern
#

poor it

silk wigeon
#

and i doubt ckan will update to ksp 2 within the year

timber cedar
#

^

wicked wyvern
#

it's literally all ready for it

silk wigeon
#

we are getting an offer for a partnership right now

wicked wyvern
#

all they need to do is merge the PRs into the main codebase

silk wigeon
#

i think its a good idea

little bay
#

I'm not sure much has changed

silk wigeon
#

i inved the person who dm'ed me on CF to here

wicked wyvern
#

I guess Max likes Bezos better than you munley

silk wigeon
#

when they join, yall can talk to them

little bay
#

I am sobbing

silk wigeon
little bay
#

if you're going to be considering other platforms again, just don't leave thunderstore out of it :p

silk wigeon
#

aight but it can be on cf and ts

sacred jasper
#

I feel like, from my perspective the reaction will be worse than thunderstore for CF

little bay
#

it kills communities

wicked wyvern
#

I still feel like this is a bad idea to be making decisions about without the official support of the game publisher

little bay
#

either one of them dies or users have a terrible time

wicked wyvern
#

especially when they very kindly allow us to make mods when they don't have to

little bay
#

for example, Valheim is split between TS and Nexus

#

modding it is a pain in the ass because of it

#

most mods are on both (I think? I haven't looked into it, not like I could use Nexus's API to do so anyway, since their API isn't free)

#

some are not

wicked wyvern
#

it's already painful enough with KSP 1 where some mods are on forums/GitHub only, some are on SpaceDock only, etc

#

I can't imagine more fragmentation being a good thing

#

because I guarantee there will be a lot of modders who won't want their mods on CF/TS

#

and for those who would, it's already painful enough to have to push stuff to GitHub, create a GitHub release, create/update SpaceDock page, and post on forums

#

especially if you want some reasonable formatting, screenshots, etc, it takes a shit ton of time

silk wigeon
#

oh for a little more proof that they are real:

#

in the cf discord

wicked wyvern
#

my point is in short: I don't see any advantages to this

little bay
#

yeah I've talked to them before

#

they're real

#

don't remember where though

silk wigeon
#

honestly its up to yall

#

all i do is manage the cf page

timber cedar
#

fr i just manage docs and shit
although i would say no

storm quail
#

Where was

SpaceWarp.API.UI.Skins.ConsoleSkin

moved to?

#

I saw someone using it but cant find it now

little bay
#

it's there in the latest commit

storm quail
#

OH WAIT

#

Im dumb

#

lmao

timber cedar
#

:P

storm quail
#

I forgot to get the new spacewarp dll for my IDE

#

lmao

timber cedar
#
public static class Skins
{
    public static GUISkin ConsoleSkin => SpaceWarpManager.Skin;
}
wicked wyvern
#

I made a SpaceWarp project template for myself because I was tired of doing the same steps when creating new projects, and thought it might be useful for others as well

#

it works as a Visual Studio template or can be used with the .NET CLI

#

Full documentation is on GitHub

#

it could also potentially be uploaded to NuGet for ease of access

#

It probably isn't a one-size-fits-all solution, since it follows how I structure my projects and builds, but it can definitely help if someone needs a quick start, especially since now the python project generator is gone

sacred jasper
silk wigeon
#

@sacred jasper
The cf admin is here

#

@spare nymph

spare nymph
#

hey

#

Just posting my msg again from the general page :
Hey everyone nice to meet you. I'm from CurseForge. We're looking to ramp up support for the game especially with proper mod loader support on our client.
Would love to hear the community approach at this time, I know there are a few options as always. Also open to maybe work with SpaceWarp to help make sure the client support is up to par.

timber cedar
#

๐Ÿ‘‹

#

ive been studying for exam tomorrow all week so i wont be available, but u guys discuss.

wicked wyvern
#

Also, another suggestion - since the discussion here will be with mostly modders, you might as well try to gauge the interest of users on the forums, since that's the platform most players probably use: https://forum.kerbalspaceprogram.com/index.php?/forum/129-ksp2-mod-discussions/ (for example, see similar discussion here: https://forum.kerbalspaceprogram.com/index.php?/topic/214563-how-would-modders-feel-about-posting-to-nexus-mods/)

spare nymph
#

thanks, will take a look at those

#

don't know if I'm allowed to open threads here?

#

or staff onlly

wicked wyvern
#

I don't think it's staff only, I can do it too

static mural
#

Hi, me here, I'm making a launcher that's better than what CF will do

mossy kraken
#

LOL

timber cedar
#

fr

static mural
#

Wormhole

#

O yeah @timber cedar can I have maintainer on the official repo so I can commit directly

timber cedar
#

@static mural like i said before i canโ€™t give that

#

like literally

#

ask cheese

#

you have my approval :D

mossy kraken
#

But even if u get invited into the organization. Do not push directly to major branches. Always make a PR.

timber cedar
#

^

lime plaza
wicked wyvern
#

because it's not a launcher I assume

inland lichen
#

launchers are overrated

#

also, it kinda is?

lime plaza
#

Click button, game open

inland lichen
#

you can't change game settings in it, but it has a "launch KSP" button

wicked wyvern
#

I mean you can launch the game from it I guess but it's very far from being its main purpose

inland lichen
#

that just triggers the game .exe directly

static mural
#

CKAN is great but in my opinion the UI is a bit ugly, and I think it deserves more love and work. Wormhole is going to kinda be a successor to CKAN in a way. I plan to implement the CKAN querying API.

late condor
#

Why not just fork ckan and rebuild the ui

#

You'll get more community support that way

static mural
#

Bc SpaceWarp already had one made with tauri and it's easier for me to use rust and typescript than c#

wicked wyvern
#

you could even just make a frontend app that runs ckan.exe in cli mode as backend

#

with some combination of API

wicked wyvern
#

there seems to be a trend of some people who had used SpaceWarp 0.1, deleted it, verified game files, some even reinstalled the game and deleted the user data, and SpaceWarp 0.4 is still broken for them

#

in one case I verified that BIE-only mods were loading fine

#

and another had the apparently the weirdest thing happen - 0.3 mods (with modinfo.json and bin folder) loaded when put into BepInEx/plugin, while the 0.4 mods didn't

#

in both cases BIE was loading SW 0.4 fine

#

and it's 3 in just one evening who had (most of) this happen

#

I couldn't be more confused by what's happening here

timber cedar
#

idk? never heard a vaguer problem

#

if you reinstalled the game

#

then thatโ€™s not a space warp issue

#

i would like to point out that verifying the game does not delete sw

rocky pollen
#

Hey, is there still a need for a class with [ModConfig] anotation, I use the new dll of spacewarp and "SpaceWarp.API.Configuration" cannot be found, nor "ModConfig" ?

sacred jasper
rocky pollen
sacred jasper
#

I'm gonna say thats gonna go over as well as a plane experiencing decompression and wings falling off at 40000 feet

wicked wyvern
#

omg every mod site jumping on SpaceWarp train lol

#

they are the person who made that thread

#

they seriously can't read the room lol

#

pretty much every response is very negative

late condor
#

The fact that someone said nexus is nice to navigate bothers me on a deep foundational level

#

I mean, I'm a child of the 80sz the internet i grew up with were single page crimes against humanity with blinking Marque text

#

And I would rather go back to the 90s than surf nexus

wicked wyvern
silk wigeon
gilded kettle
#

has anyone been able to add new parts on SpaceWarp 0.4? the bundle gets loaded but the part isnt in the parts manager....

silk wigeon
#

@sacred jasper

#

Oh btw

#

Mod support forum would be better for that question

gilded kettle
#

well idk since there aren't any mods that add parts yet

#

at least not released...

#

also cheese redirected me to @lime plaza

#

apparently he knows more about the parts managment of spacewarp

silk wigeon
#

Ah well idk how to help ye

gilded kettle
#

im glad you tried tho! <3 thx

silk wigeon
#

All i can think of is make sure none of the code is fucked up and you have your mod in the right folder

gilded kettle
#

well, i can show u that just to be sure, but it really is just the base dll, a bundle and an image

#

structure

late condor
#

0 bytes is a little sus

gilded kettle
#

swinfo

#

yeah idk why it shows 0bytes

#

on windows explorer it shows 1kb

wicked wyvern
#

KSP2 version should start at 0.1.0

#

0.4.0 won't be for a while

lime plaza
gilded kettle
#

oh lmao i put the spacewarp version

gilded kettle
#

will try again tho

gilded kettle
#

yup, i'll show my setup just a sec

lime plaza
#

name of prefab is wrong

gilded kettle
#

huh what should it be?

lime plaza
#

it should be just gridfin_S.prefab

late condor
wicked wyvern
# gilded kettle swinfo

and btw dependencies is in this format:

"dependencies": [
    {
      "id":  "SpaceWarp",
      "version": {
        "min": "0.4.0",
        "max": "*"
      }
    }
  ]

but it's not important, since it's only used to display in-game, doesn't do any checking for now afaik (BepInEx does that based on its attribute on your class)

lime plaza
gilded kettle
lime plaza
late condor
gilded kettle
lime plaza
lime plaza
late condor
#

I definitely need to do some auto config for this stuff

#

Streamline that part creation process

lime plaza
#

I don't know enough about unity to do it

late condor
#

I gotta lot of stuff I wana do around it

late condor
#

Enabling content creators is what I do

gilded kettle
# lime plaza Tutorial is slightly out of date, load path needs fixed

hmm, ok so built it, added do adressables and still nothing... also

[Info   :Space Warp] Attempting to load D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[Info   :Space Warp] Loaded addressables catalog D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[Info   :Space Warp] D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json ----- D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[System] Loading addressables for Spaceplace Orbital Corporation (Kerbalized) completed in 0,0100s.
[Info   :Asset Loader] Did not load asset bundles for Spaceplace Orbital Corporation (Kerbalized) as no asset bundles folder existed!
lime plaza
gilded kettle
#

hmm
Failed to read data for the AssetBundle 'SOCK.SOCKPlugin.Path\addressables\StandaloneWindows64\defaultlocalgroup_unitybuiltinshaders_637c83d3b41e176e37ad2a752708b847.bundle'.

#

it doesnt seem to convert the reference to its value....

#
Unable to open archive file: SOCK.SOCKPlugin.Path/addressables/StandaloneWindows64/defaultlocalgroup_unitybuiltinshaders_637c83d3b41e176e37ad2a752708b847.bundle
Unable to open archive file: SOCK.SOCKPlugin.Path/addressables/StandaloneWindows64/defaultlocalgroup_assets_all_0730bfdf20a4b93a94e4b2f49e6f2b6e.bundle
lime plaza
#

Dunno why it can't tho

gilded kettle
#

trying to rebuilding seems to fix it... no errors now but still no part

#
    "partName": "gridfin_S",
    "author": "Paul Z Kerman",
    "category": "Aero",
    "family": "0400-Control Surface",
#

json was copied from control surface light, just removed the procedural part thing

lime plaza
#

You put that into CorePartData as well?

gilded kettle
#

yup, but idk if its 100% equal

#

family not set ie, is that enough for it to not load?

lime plaza
#

Try setting the family

gilded kettle
#

ok, also, modules order is not the same, is that a problem?

lime plaza
#

Dunno

gilded kettle
#

did my best to make the json and the prefab equal... no luck...

#

it was missing attachNode and it had a couple mismatched in mass and drag, all that is equal now

#
[Info   :Addressables Loader] Loading addressables for Spaceplace Orbital Corporation (Kerbalized)
[Info   :Addressables Loader] Found addressables for Spaceplace Orbital Corporation (Kerbalized)
[Info   :Space Warp] Attempting to load D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[Info   :Space Warp] Loaded addressables catalog D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[Info   :Space Warp] D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json ----- D:\SteamLibrary\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SOCK\addressables\catalog.json
[System] Loading addressables for Spaceplace Orbital Corporation (Kerbalized) completed in 0,0105s.
[Info   :Asset Loader] Did not load asset bundles for Spaceplace Orbital Corporation (Kerbalized) as no asset bundles folder existed!
#

logs just in case

lime plaza
#

Dunno tbh

gilded kettle
#

has anyone been able to do it on 0.4.0?, from what i see Sticks Armory is on 0.3.0 at least from mod structure

lime plaza
#

I can load parts in 0.4

gilded kettle
#

can you share your addressables/mod to see if i can load them too?

lime plaza
gilded kettle
#

what part am i looking for?

lime plaza
#

medium square truss

#

There should be two

#

One of them will either be named [TBD] or Custom Truss

#

The icons are identical

gilded kettle
#

yup there she is.... wierd... probably something to do with my addressables config then

#

well tried updating addressables to the last version, no luck too,

sacred jasper
#

whats your load path?>

gilded kettle
#

instresting, so the problem is with the part that im trying to add, probably it has some critical mismatches
I ripped the truss that you sent me and it addressed well, but the gridfin didnt

#

currently {SOCK.SOCKPlugin.Path}/addressables/StandaloneWindows64

sacred jasper
#

and the mod?

#

wait

#

wait

gilded kettle
sacred jasper
#

Wait nvm, I thought the standalonewin64 was wrong, mb

gilded kettle
#

ripped and readressed

#

yeah, i did misspelled it a couple of times before tho :P

sacred jasper
#

whats your mod class look like?

gilded kettle
#

hope that its readable

#

basically the default class from the mod csproj creator

sacred jasper
#

hmm

gilded kettle
#

with the path added

#

but i think that its the part problem, since the truss loaded correctly but my part didnt.......

#

so the mod configuration must be correct, the part probably not

#

i thnk a prefab to json converter would be helpful, to avoid mismatches

#

i'll try with a couple other parts that i plan to add

timber cedar
gilded kettle
#

i rather code every mod myself than use nexus

#

inb4 someone actually does that just like those "so i made minecraft in a week" videos

timber cedar
#

^

#

fr

#

thats what wormhole is

#

but instead of a week

#

its like

#

4 years

#

@topaz jetty is the current spacewarp-ui repo up to date?

topaz jetty
#

I don't believe so

#

Think my console stuff was the last commit

timber cedar
#

ye, could you update it?

#

or is there some way of reverting the .bundle

#

i want to add the borders

timber cedar
#

border

#

if you push i can update the current one

#

test a proof of concept

sacred jasper
#

It should be up to date @timber cedar

#

Ive been updating it

timber cedar
#

it says last update was last week?

#

is the x button in the top right corner part of the ui?

sacred jasper
#

Thats the last time I worked on the ui

timber cedar
#

ah

timber cedar
sacred jasper
#

And the x button is genned programatically

timber cedar
#

k

#

hm ok then cool

#

ill finish this up and pr

#

just want to make sure im not modifying something else

sacred jasper
#

Im currently on spring break which is why im not doing much btw

timber cedar
#

damn you have it so early

#

mine starts in a month

#

@sacred jasper

#

more border?
less border?

#

i should round it

sacred jasper
#

Less border, round it

timber cedar
#

less???

#

its already 5 pixels

#

rounded

#

how do i compile to .bundle

#

nvm

#

@sacred jasper
do i run Build AssetBundle on the swconsoleui folder, the GUI file, or what?

#

i tried to compile the folder, and it wouldnt load

sacred jasper
#

Use the editor

#

There should be a button in the assets menu of the editor

#

Make sure you added the asset to the bundle as well

timber cedar
#

soo, which files?

#

do i just press the button?

#

i think im being dumb

#

plz hlep

#

ah

#

how to compile

#

js i am renaming to .bundle

gilded kettle
#

maybe try the Thunderkit bundle? its pretty easy to use

timber cedar
#

does it have the same product?

lime plaza
#

Addressables are easier to build

late condor
#

And when/if I make tooling, it will likely just use the addressables system

timber cedar
#

yeah but i was just wondering how you guys made the swconsoleui.bundle in the first place

#

because when i try to compile it, sw doesnt recognize it

late condor
#

I think the file name had to match an internal name so you can't rename it?

#

I'm not positive on that one

lime plaza
timber cedar
#

im only a sw dev, so maybe im wrong

#

is spacewarp ckan?

little bay
#

they have a fundamental misunderstanding of what ckan does

timber cedar
#

i must agree with you

little bay
#

however

#

that really shouldn't say "A KSP Modloader" anymore

#

(it should've said "KSP2" in the first place, but its not a modloader anymore)

timber cedar
#

that has been bugging me

gilded kettle
#

im thinking, wouldnt a prefab to json be as easy as using reflection to get all public properties of the modules and writing them to a json?
or am i missing something here?

#

because the properties name seems to be the same, and all values seem to be in either strings, bools or floats... maybe ksp wouldn't read them correctly tho... hmmmm

late condor
gilded kettle
#

true, only reason that im now using the addressables package instead of thunderkit, thunderkit is way easier and mroe intuitive tho

#

@sacred jasper ??? Model is not the problem, just frankensteined it from the gridfin prefab to the dockingPort/shroud prefab and it loaded fine....... must have to do with modules/values in the modules.....

#

its more fitting to talk about it here since its a spacewarp thing

gilded kettle
#

narrowed it down to 2 possibilities
Category and family were wrong somehow
Or, the one that i'm more optimistic about
The path/adressable name can't have spaces in it...

#

got it to load after changing those 2 things... gonna test which one it is

#

also changed version from 0.1 to 0.3 but i dont think that should affect it at all

#

im going insane... i think its the version

#

@sacred jasper version............. this little shit can't be changed... thought that they used to mark versioning of the part but ig not?

late condor
#

Perhaps its an api version of some kind

sacred jasper
lime plaza
late condor
#

Ah yep that makes sense

gilded kettle
#

i'm curious, if i dont set a property on the json, will it be invalid/corrupted when loaded? or will it assume the default value?

gilded kettle
#

apart from indetifier properties like partName etc, cuz the json seems to have way too much info

#

i'll try it...

#

It does, now idk if the part works correctly... removed this and it loaded, tried removing family and category first but it didnt load...

gilded kettle
#

has anyone sucessfully created an control surface part? or will i have to pioneer this too ๐Ÿ˜ญ

#

the module adds well, but no movement on the part, even if i press "deploy"

gilded kettle
#

the fact that currently all control surfaces are proceduraly generated doesnt help at all ngl

gilded kettle
#

another addition to json/module knowledge
Control Surfaces:

  • "CtrlSurfacePivotTransformName": "pivotEmpty"

This field, even tho its on json, its read from the prefab module config

#

btw is there anywhere where i can document this findings? so that new modders don't have to go through this?

#

i mean in spacewarp doc or similar

sacred jasper
#

make a pr for the sw docs repo?

timber cedar
#

do that ^

#

make sure to select the en branch

mossy kraken
#

I have read this so many times now and I still don't know what its about

wicked wyvern
#

Wow, same

timber cedar
#

its a troll

wicked wyvern
#

I feel like I'm having a stroke reading it

timber cedar
#

troll

mossy kraken
#

I don't get the joke ๐Ÿ˜…

timber cedar
#

idfk

#

you can close it

mossy kraken
#

I closed it and said "Ur banned @ftilly"

timber cedar
#

gud

wicked wyvern
#

Btw since I'm already here, has anyone here used the localization API yet? I've tried putting together a .csv and put it into the mod/localizations folder

#

and it seems to have loaded in-game but with 0 terms

mossy kraken
#

Nope not yet

wicked wyvern
#

any idea on the format?

#

but they're not very specific about it

timber cedar
#

yeah

#

uh

#

i didnt work on that

#

hm

wicked wyvern
#

(oh and btw in the SpaceWarp README it says "localization" folder but in code it's in plural)

timber cedar
#

lol

#

the main logo says ksp instead of ksp2

#

so i think we're fine

wicked wyvern
#

I mean, it's kinda important, since if people put their files into the localization folder as instructed, it won't load

#

(that is if we manage to figure out the format lol)

timber cedar
#

lol

#

i genuinly know nothing about the locales

wicked wyvern
#

Np, I'll try to figure it out and if I do, I'll post it somewhere here

timber cedar
#

alr

mossy kraken
timber cedar
#

i have no clue how to do the click through blocker

#

litearlly

#

the dumbest thing ever created

mossy kraken
#

We don't have to solve it right now, if it to messed up just ignore it for now

timber cedar
#

yeah

#

i did the ui border, and i asked sh box about it
and we found the error

#

basiclly the build assets builds it to a "path" of Assets/swconsoleui

#

and sw tries to access it at spacewarp/swconsoleui

sacred jasper
#

wrong

#

no thats correct

#

misread

timber cedar
#

nah i showed my "fix" ss

sacred jasper
#

wait, no that is incorrect

timber cedar
#

doesnt work

sacred jasper
#

We remove the Assets/

timber cedar
#

how

#

plz tell

sacred jasper
#

basically, when registering it in the asset manager we remove the first parts of Assets/swconsoleUI in the name, and register it at spacewarp/swconsoleui/...

#

So we know that the assets part of the path exists, but remove it

timber cedar
#

ok, well its not working so how

#

oh

#

wait

#

do you want me to place the swconsoleui into a folder called spacewarp

sacred jasper
#

no

timber cedar
#

ok.

#

how do i build it then ;-;

sacred jasper
#

everything should be working

#

whats the issue?

timber cedar
#

one sec

wicked wyvern
#

sorry for the off-topic, but I just got the localization working

timber cedar
#

nice^

#

i rename it to .bundle

mossy kraken
#

WOO! ๐Ÿฅณ๐Ÿฅณ

timber cedar
#

correct?

sacred jasper
#

Yes

#

currect

timber cedar
#

ok

sacred jasper
#

where do you put the bundle?

timber cedar
#

in here

sacred jasper
#

Alright

timber cedar
#

ok

sacred jasper
#

And whats going wrong

timber cedar
#
[ERR 04:48:56.738] Unable to read header from archive file: C:/Program Files (x86)/Steam/steamapps/common/Kerbal Space Program 2/BepInEx/plugins/SpaceWarp/assets/bundles/swconsoleui.bundle

[ERR 04:48:56.739] Failed to read data for the AssetBundle 'C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\SpaceWarp\assets\bundles\swconsoleui.bundle'.
sacred jasper
timber cedar
#

how to build then xdd

sacred jasper
#

Its nothing wrong with space warps loading

sacred jasper
# timber cedar

Also why the fuck is there a
/UI/AssetBundles/toggle_normal.png path?

mossy kraken
#

Looks indeed like the bundle is messed up in some way

timber cedar
#

some jackass seperated the image

#

its in the repo

sacred jasper
#

then undo it?

timber cedar
#

yeah sure

sacred jasper
#

Everything should be under swconsoleui/...

timber cedar
sacred jasper
#

remove one

timber cedar
#

ah

#

idk whats using it in the guiskin

#

one sec

sacred jasper
#

remove the one in the weird path

timber cedar
#

ok fixed

#

ill build

wicked wyvern
#

This is my example .csv:

Key,Type,Desc,English[en]
KerbonautManager/NotificationEvent/KerbalAlreadyExists,Text,,Kerbal with this name already exists

Key is anything you want to refer to your term in code, Type is probably always going to be "Text" when using the .csv but there are many other types like Sprite etc., Desc or Description I don't think does anything other than info for translators, and the columns after that need to be in the format Language[LanguageCode] and contain the translated terms

timber cedar
#

locale sprites when

#

french kerbals

wicked wyvern
#

pretty much any type of asset can be localized using the library it seems, although for the other types you'd need to build a bundle instead of importing from .csv

timber cedar
#
Assets:
- Assets/swconsoleUI/borderRadiusDark.png
- Assets/swconsoleUI/GNUUnifont9FullHintInstrUCSUR.ttf
- Assets/swconsoleUI/bgDark.png
- Assets/swconsoleUI/bgLight.png
- Assets/swconsoleUI/borderRadiusLight.png
- Assets/swconsoleUI/toggle_hover.png
- Assets/swconsoleUI/toggle_on_active.png
- Assets/swconsoleUI/toggle_active.png
- Assets/swconsoleUI/genNormal.png
- Assets/swconsoleUI/spacewarpConsole.guiskin
- Assets/swconsoleUI/toggle_on_hover.png
- Assets/swconsoleUI/genActive.png
- Assets/swconsoleUI/toggle_on_normal.png
- Assets/swconsoleUI/toggle_normal.png
#

built

#

renamed

#

same exact error

sacred jasper
#

wait, what are you putting as the bundle file?

#

what are you renaming to .bundle

timber cedar
#

this one

sacred jasper
#

okay, thats correct

#

I have no clue whats going wrong

#

I am tired though, so I'll look at this tomorrow

timber cedar
#

sure sure

#

what is trial moderator

#

:O

wicked wyvern
#

if I do well within the next week, I'll be a mod, if not, I'll be sacrificed to the kraken ๐Ÿ˜›

timber cedar
#

do well...

#

yes

#

do not fail your masters

mossy kraken
timber cedar
#

nice emote

#

dev < contributor

sacred jasper
#

Thats odd

mossy kraken
#

LUL

timber cedar
#

๐Ÿ˜ข im sorry i didnt build bundle

#

dont demote me

sacred jasper
#

fixed

timber cedar
#

wooowwww

mossy kraken
#

Nice

timber cedar
#

i feel happier in life now

mossy kraken
#

I feel cooler ๐Ÿ˜Ž

timber cedar
#

so many bitches in my dms

wicked wyvern
#

Eh, I'm still the coolest, the only pink name in the whole server klueless

timber cedar
#

fr ^

#

what do mods do

#

do i have to talk to people

mossy kraken
#

U just ban em

wicked wyvern
mossy kraken
#

Let the ban hammer do the talking

timber cedar
#

i think i would make a great mod

mossy kraken
#

I am off to bed ๐Ÿ˜ด
cya tomorrow

timber cedar
#

cya

little bay
timber cedar
#

^^

#

thunderstore is kinda pog

mossy kraken
#

I setup a python script that gets all the SpaceWarp downloads from both Space Warp and Space Warp + BepInEx from SpaceDock and our Github releases and sort and groups em by version so we can keep track of the total downloads for the project and what version most people are on. Here are the results.

#

We could have the script run every hour or so and create new images of the graph that can be used in a README file to display stats

wicked wyvern
#

oh that's nice, I expected 0.4 to have a lot smaller share

#

good to see people are updating

mossy kraken
#

So for this data I did not bother to include CurseForge for now as the total downloads there is only 300.

inland lichen
#

+1 more person having the "mods won't load" issue with sw0.4.0 over on the IG server. ๐Ÿซค

wicked wyvern
#

did they try the "delete game folder completely and reinstall game" thing?

#

(also, I've seen people who just download the SpaceWarp 0.4 zip without BepInEx, and assume it's fine because it has the BepInEx folder, too)

inland lichen
#

3 times, supposedly

wicked wyvern
#

I assume that isn't the case here?

#

but honestly it seems to be confusing people, having 2 different downloads where one is complete and the other requires you to install something else

#

at least from what I've seen

inland lichen
#

I checked on spacewarp-release-0.4.0+bepinex.zip and they said yes, that's what they're using

mossy kraken
#

People need to remember that we are no longer a mod loader and Space Warp itself is just another plugin.
All the cases I have looked into is all user error where the user either has

  • Download the wrong versions of mods and tired running it on 0.4.0
  • Download an earlier version of Space Warp and tired run 0.4.0 mods on it.
  • Forgot to download BepInEx
  • Still uses the old folder structure
  • Fucked up their KSP2 folder in some weird way
wicked wyvern
#

I'd like to add that the last point usually leads to having had SpaceWarp 0.1 installed

mossy kraken
#

^

wicked wyvern
#

but from what Silvia is describing, it's difficult to judge what could be going wrong, if they deleted and reinstalled the game, that should take care of the last point, they seem to be downloading the correct version of SpaceWarp, and BepInEx is included in that zip

#

so my best guess would be wrong mod versions

mossy kraken
#

How to fix:

  • NUKE the entire KSP2 folder ๐Ÿ“‚๐Ÿ’ฅ
  • Reinstall the game
  • Install only the spacewarp-release-0.4.0+bepinex.zip
  • Launch the game and see if it works

If it does not work after this. We are going to need the logs or something

inland lichen
#

start of my conversation with them, if anyone wants to double-check me:
#1078697132875317358 message

wicked wyvern
#

"im on this server, an guy tried to help me, but it didn't worked" heh yeah that was me I remember them

#

To be fair I don't think I've heard back from anyone who was recommended to delete the whole game folder and reinstall on whether it worked or not

#

So I just kinda assumed that it did, or they would mention it

inland lichen
#

I've had that work for one person I was helping

#

haven't heard yea or nay from anyone else, as best I can remember

wicked wyvern
#

yeah, so it leads me to believe that this person is just not following one of the steps correctly somehow

sacred jasper
#

its worked for at least 2 other people who've asked

mossy kraken
#

I think they just drop their 8 mods back into the plugin folder and 1 of the mods is either broken, incompatible or has the wrong version

sacred jasper
#

Honestly, this issue should resolve itself at the next update if anything lol, if they at least remove spacewarp.dll from the managed directory

sacred jasper
mossy kraken
#

Idk, It potentially could, its hard to say

wicked wyvern
sacred jasper
#

we have failsafes if a mod has a bad swinfo

#

or no swinfo

#

plus bepinex should still notify that they are being loaded

mossy kraken
#

We should provide our own KSP2 Folder nuker ๐Ÿ’ฅ

wicked wyvern
#

Alright, issue fixed

wicked wyvern
#

it seems to be the root of most issues here

inland lichen
wicked wyvern
#

In this instance I wish it did, since we could just tell people to verify the game files in it

mossy kraken
#

That would solve a lot

wicked wyvern
#

It would also kinda make sense, added .dlls and other stuff can mess up the game

#

so why not delete it when you're trying to make the game work ๐Ÿคฆโ€โ™‚๏ธ

mossy kraken
#

If we look at the graphs in #๐Ÿ”ดmod-dev not to many people should be having the issue as there was not that many downloads on the earlier versions.
They should all be on 0.4.0+ and it should be easier and less reports about this

wicked wyvern
#

I guess it's for cases like when save files/screenshots/other user data is stored in the game folder

inland lichen
wicked wyvern
mossy kraken
#

Yeah, again ๐Ÿ˜“ and I still don't get it

#

I locked the issue thread

timber cedar
mossy kraken
timber cedar
#

:O

mossy kraken
#

It needs an Github API token to run as parameter

timber cedar
#

:D dw

timber cedar
#
    gh = github.Github(access_token)
AttributeError: module 'github' has no attribute 'Github'
#

@mossy kraken u sure this runs

#

oh

#

you're using pygithub

#

not github

#

ok it works

mossy kraken
#

Yeah, I had to change cause the flywheel thingy was broken for py 3.11 on windows 11 or something so
``pip install Github` crashed every time for me..

timber cedar
#

np

#

im chaning my nginx rn

#

almost done

mossy kraken
#

๐Ÿ˜„

timber cedar
#

i keep getting these dumbass permission error

#

ahhhh

#

very nice

#

no clue if the cron job is working

mossy kraken
#

Woo! NIcew

timber cedar
#
*/2 * * * * ~/miniconda3/bin/python var/www/sinon.us.to/html/spacewarp/statistic/stats.py
#

i have this

#

which is every 2 minutes

#

dunno how to check if tho

#

guess we wait

mossy kraken
#

Yeah ๐Ÿ˜„ Wait and see if someone downloads ๐Ÿ˜„

timber cedar
#

i downloaded

#

so it should be at least +1

timber cedar
#

ye

#

ok well its been at least 2 minutes

#

i think no update

#

im gonna run manually

#

and it works when i run manually

mossy kraken
#

ok

timber cedar
#

ok

#

chron job e

mossy kraken
#

images on github did not update :/ Might be cached?

timber cedar
#

idk ??

#

its 16,706 in the actual link

#

instead of 16,701

timber cedar
#

16,706

#

tahts updated

mossy kraken
#

LUL

#

In my browser its not ๐Ÿค”

timber cedar
#

then u have cache

mossy kraken
#

I tried clearing the cache, still there ๐Ÿค”

#

Even tested another browser

timber cedar
#

huh

#

thats github

#

ye

#

idk

mossy kraken
#

Perhaps it updates after a while

timber cedar
#

i need to read some more on how to make "badges"

mossy kraken