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

[Feature] 仅在正版登录时,应用正版皮肤 / 皮肤站点优先级判定优化 #237

Open
luoxiawuchen opened this issue Jan 10, 2023 · 6 comments
Milestone

Comments

@luoxiawuchen
Copy link

luoxiawuchen commented Jan 10, 2023

描述:
在使用mojang皮肤站时,即使没有应用任何皮肤,也会由于优先级而覆盖离线皮肤站(显示为默认皮肤 史蒂夫/艾丽丝)
这导致,当正版用户想使用离线皮肤站时,只能解除他们已绑定的用户名,这造成了不便。(正版受害者)

正版用户使用LittleSkin等皮肤站的原因:
1、在mojang皮肤站的披风获取难度大,且只能应用mojang赠予的披风(而且送的可能还不怎么好看)
2、网络原因,国内正版用户在mojang官网应用和更换新皮肤较为困难(速度慢)

服务器方面:
正版与离线载入分离,离线玩家也不会受到影响(不会某天游玩时突然发现自己载入了正版用户的皮肤)

想法:
1、优先级判定功能增强,当玩家没有应用皮肤时,自动跳到次优先的皮肤站点,并检测是否应用皮肤
2、仅在玩家使用正版登录时,应用mojang官方皮肤站,实现与离线玩家的分离
3、第1、2点可以通过配置文件开关,以满足不同人群的需要

当然,也可以通过调整皮肤站优先级来解决,但如果可以还是希望尽可能默认将官方皮肤站置顶(以鼓励入正)
表达能力有限,描述的有些混乱,感谢大佬的耐心阅读。

@xfl03
Copy link
Owner

xfl03 commented Jan 10, 2023

  1. 取消穿戴正版披风、在LittleSkin中上传披风后,可以通过打开forceLoadAllTextures的方式,同时加载正版皮肤和LittleSkin披风

  2. 服务器这边可以通过SkinRestorer之类的插件补全,无需客户端向Mojang请求皮肤信息;CSL的皮肤信息和皮肤材质本身就有缓存的,不会一直重复发起请求,如果想进一步加大缓存,可以修改cacheExpiry

@ZekerZhayard
Copy link
Collaborator

  • 配置文件里的 forceLoadAllTextures 设为 true 之后可以让玩家加载完皮肤后,如果当前加载出皮肤的皮肤站没有披风,则继续往更低优先级的皮肤站加载,直到加载出披风为止;

  • 玩家可以在配置文件里自己改皮肤站优先级,而且 CSL 目前默认的优先级就是 Mojang 官方最高;

@luoxiawuchen
Copy link
Author

  1. 取消穿戴正版披风、在LittleSkin中上传披风后,可以通过打开forceLoadAllTextures的方式,同时加载正版皮肤和LittleSkin披风
  2. 服务器这边可以通过SkinRestorer之类的插件补全,无需客户端向Mojang请求皮肤信息;CSL的皮肤信息和皮肤材质本身就有缓存的,不会一直重复发起请求,如果想进一步加大缓存,可以修改cacheExpiry
  • 配置文件里的 forceLoadAllTextures 设为 true 之后可以让玩家加载完皮肤后,如果当前加载出皮肤的皮肤站没有披风,则继续往更低优先级的皮肤站加载,直到加载出披风为止;
  • 玩家可以在配置文件里自己改皮肤站优先级,而且 CSL 目前默认的优先级就是 Mojang 官方最高;

好,谢谢两位大佬的耐心解答!

@xfl03 xfl03 added this to the 15.0 milestone Jan 10, 2023
@xfl03
Copy link
Owner

xfl03 commented Jan 10, 2023

计划在之后的版本中将「服务器提供的皮肤」与「请求Mojang获取的皮肤」分离为两个「SkinSiteProfile」

@8MiYile
Copy link
Contributor

8MiYile commented Jan 18, 2024

CaaMoe/MultiLogin#118
连MultiLogin那边都在说CSL会破坏原版的皮肤处理逻辑了,这个修复需要提上日程了

@pavel355
Copy link

I don't know the "language of enchantment table" and can't be sure of the translation so I will communicate in English

I set "forceLoadAllTextures" to "true" "cacheExpiry" to "30" and my skin doesn't change when I change it with SkinsRestorer plugin, the character just twitches, the skin stays the same and in the log it says that it searched for the skin by my normal game nickname, not the one I changed the skin to with SkinRestorer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants