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

Improve non-global client support #20

Open
kalilistic opened this issue May 3, 2022 · 4 comments
Open

Improve non-global client support #20

kalilistic opened this issue May 3, 2022 · 4 comments
Labels
dalamud Relating to Dalamud

Comments

@kalilistic
Copy link

Per my understanding, other regions are managed through dalamud forks. Would it be possible (or rather worthwhile) to enable main dalamud to handle these? Would need to coordinate with bluefissure and others.

@Bluefissure
Copy link

Bluefissure commented Jul 26, 2022

Functionally it's not difficult to support different regions/clients, the major problem is the game patch difference. We're maintaining the same dalamud with additional zh-CHS fonts and some minor differences in signatures, but months earlier. Besides that, all good.
Another concern is plugins compatibility:

  • Plugins with Japanese support add ja-JP fonts by default, which doesn't include all zh-CHS characters. Besides that, zh-CHS font range is huge, and may cause a crash when adding multiple zh-CHS fonts (I think this is fixed by enlarging the atlas size in the current dalamud).
  • Plugins related to servers/worlds are usually not considering CN worlds and SE doesn't even put the DC info of CN worlds in the game files, so we may need other helper functions to determine the CN DC.

I think it's not possible or appropriate to ask plugin developers to test their plugins at CN client, and as said above, the game update may break plugins and since the CN client is always ~one patch older than the intl client, it requires the plugins repo to maintain multiple revisions of the same plugin when there's a breaking change from version bump.

Regarding XIVLauncher, we have XIVLauncherCN ready for testing, the login logic is different since the API & endpoints & auth process are all different, it's open source at ottercorp/FFXIVQuickLauncher and it works well with the SDO login, differences are:

  • XIVLauncherCN doesn't have the static password input field and the login method by static password, under the consideration of account security and weird homemade encryption of SDO. Instead, we use the QR code scan (by the mobile auth app 叨鱼 of SDO) and fast login.
  • XIVLauncherCN doesn't support WeGame. WeGame login is something like Steam login, we're not going to dig into that at the moment since Tencent is protecting the WeGame by its own encryption/protection module called TP(Tencent Protection) system. Ottercorp devs don't want to decrypt or even open source that to get sued by Tencent possibly, because it's commonly used in other Tencent games.

@goaaats
Copy link
Member

goaaats commented Jul 26, 2022

I think as much as possible should be upstreamed, but I don't think we should have global support directly out of our repos. It's a lot of work to coordinate and I feel like the other teams are more flexible this way.

Upstreaming abstractions that make global versions easier if the maintenance cost on our side isn't too high, improvements, etc. is very welcome though.

@Bluefissure
Copy link

I think as much as possible should be upstreamed, but I don't think we should have global support directly out of our repos. It's a lot of work to coordinate and I feel like the other teams are more flexible this way.

Upstreaming abstractions that make global versions easier if the maintenance cost on our side isn't too high, improvements, etc. is very welcome though.

I agree with this, some abstractions like goatcorp/FFXIVQuickLauncher#949 will make our CN support a lot easier.

@marzent
Copy link

marzent commented Jul 26, 2022

Yeah goatcorp/FFXIVQuickLauncher#949 makes implementing different login behavior really clean, have been using it for months without any issues

@philpax philpax added the dalamud Relating to Dalamud label Aug 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dalamud Relating to Dalamud
Projects
None yet
Development

No branches or pull requests

5 participants