Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase requirements for Workshop publishing #3643

Open
5 of 6 tasks
Mirsario opened this issue Jul 20, 2023 · 6 comments
Open
5 of 6 tasks

Increase requirements for Workshop publishing #3643

Mirsario opened this issue Jul 20, 2023 · 6 comments
Labels
Benefit - Low Complexity - Low Contributions Welcome/Easy Simpler Issues suitable for first time contributors Requestor-TML Maintainers Issues or PRs improving or maintaining TML code base

Comments

@Mirsario
Copy link
Member

Mirsario commented Jul 20, 2023

Since the Mod Browser has been moved to Steam Workshop, it has been nearly flooded with various low effort submissions, and even high effort ones tend to look lame due to only 80px icons being suggested.
This issue lists suggestions that could help mitigate these problem.

Requirements

  • The mod initializes correctly.
    This is already handled by the fact that the Publish button only shows up for mods that are loaded.
    Might be worth keeping this in mind for various "Github CI" ordeals of the future.

  • description.txt
    Require a non-default ("X is a pretty cool mod") description.txt with length of at least ~20 characters.
    If the required character count is increased further - it should be noted that we'll probably need to count different languages' characters differently, as some languages (Chinese, Japanese, perhaps Korean) are known to be far more "compact".

    • Additionally, we should change the auto-generated description to mention that it must be changed.
  • Assembly-checking
    Require the published mods to contain anything that differs them from what building "Create mod" outputs would produce.
    This may be a topic of its own, but it's helpful that the mod assemblies must be loaded and running before publishing.

  • icon.png
    Disallow using the empty frame icon added to new mods by default.

  • icon_workshop.png
    Require a special workshop icon with the minimal size of 480x480 px. 512px is prefered, but 480 is what you get if you want 40/80px to scale up well.
    Alternatively, should we just upscale icon.png to 480x480?

Not to be required

  • icon_small.png
    A few mods would benefit from other mods always having a small icon to be used in GUIs, but they could just use a fallback texture if they don't.

  • description_workshop.txt
    Not a serious necessity if we make mod info open workshop pages, thus making description.txt already mostly be used for bb-code.

@Mirsario Mirsario added Needs Discussion Issues that require more discussion Requestor-TML Maintainers Issues or PRs improving or maintaining TML code base Benefit - Low Complexity - Low labels Jul 20, 2023
@github-actions github-actions bot removed the Requestor-TML Maintainers Issues or PRs improving or maintaining TML code base label Jul 20, 2023
@GlasiaVD23
Copy link

GlasiaVD23 commented Aug 21, 2023

Hello,

first: I am not sure if I am allowed to write this here.

I used the DragonLens mod together with my own mod (not published) where I made a prefix that tries to boost max minion count to test said prefix. When DragonLens tried to load the icon_small which I didn't have, it errored out. Took me some days to find this issue until I stumbled upon this thread.

When not having an icon_small.png in your own mod, it can be that mods that contain searches for icon_small.png error out and one does not know quite why, because no icon_small was generated as starter file for your mod. I suggest maybe when creating a new mod skeleton TML also creates an empty 32x32 icon_small.png.

By creating an empty 32x32 icon_small.png as a placeholder I solved the error.
You can find more infos about the error I got in the Terraria Community Forums: https://forums.terraria.org/index.php?threads/max-minion-boost-prefix-compiling-but-not-applying-to-the-players-max-minion-stats.125756

@JavidPack
Copy link
Collaborator

icon_small has never been required, that's just a bug with that mod. We can consider making it required, but it currently isn't.

@Mirsario Mirsario added the Requestor-TML Maintainers Issues or PRs improving or maintaining TML code base label Sep 18, 2023
@TechnicalitiesDevelopment
Copy link
Contributor

TechnicalitiesDevelopment commented Oct 12, 2024

I feel like, when playing, many mods in the workshop are low quality, and make it hard to find ones where the creator has put some effort into making it. This is a great idea, that I’ve wanted for quite some time when playing. I will leave it up for discussion but I will draft a way to make it work if others feel it should be necessary. I would add that with the assembly checking, that would break some mods that purely act as localisation for other mods and feel that this is not the way forward

TechnicalitiesDevelopment added a commit to TechnicalitiesDevelopment/tModLoader that referenced this issue Oct 12, 2024
TechnicalitiesDevelopment added a commit to TechnicalitiesDevelopment/tModLoader that referenced this issue Oct 12, 2024
@Mirsario Mirsario added Contributions Welcome/Easy Simpler Issues suitable for first time contributors and removed Needs Discussion Issues that require more discussion labels Oct 16, 2024
@Mirsario
Copy link
Member Author

Mirsario commented Oct 16, 2024

The issue's labels were outdated for a long time, it has been discussed well enough in Discord, and no one has really raised outstanding objections to the proposed requirements. icon_small.png and description_workshop.txt, raised earlier as potential requirements, are however not to be required, as the effort outweighs the benefit. A PR implementing this would be very welcome, assembly analysis being good to delay to a subsequent one.

@TechnicalitiesDevelopment
Copy link
Contributor

Ok, I’ve implemented the description checker on my own fork, and the checking for the workshop icon wouldn’t be too hard. However, I have no idea on how to implement assembly checking or the image comparison.

@TechnicalitiesDevelopment
Copy link
Contributor

Done, apart from assembly checking

JavidPack added a commit that referenced this issue Oct 23, 2024
* Checks description for less than 20 characters or being the default description before publishing to workshop. See #3843

* Checks description for less than 20 characters or being the default description before publishing to workshop. See #3643

* Checks description for less than 20 characters or being the default description before publishing to workshop. See #3643

* Added icon.png and icon_workshop.png checks before publishing

See #3643

* Streamlined the implementation.

* Count only letters & digits towards description length.

* Account for description.txt missing.

* More legible report texts.

* Auto-upscale previews and create icon_workshop.png.

* Append ticks to temp file location.

* Create icon_workshop.png if not resizing too.

* Upscale to 480x480 instead of 512x512.

* Create icon_workshop only 'if missing and not resized'.

* (Vanilla bug) Fixed icon file handles lingering.

* Adjust resize message color, generate localization

---------

Co-authored-by: Mirsario <me@mirsar.io>
Co-authored-by: JavidPack <javidpack@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Benefit - Low Complexity - Low Contributions Welcome/Easy Simpler Issues suitable for first time contributors Requestor-TML Maintainers Issues or PRs improving or maintaining TML code base
Projects
None yet
Development

No branches or pull requests

4 participants