Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
33214be
新增繁中服啟動功能
PlusoneChiang Nov 23, 2025
4f79b62
跳過國際服新聞載入,嵌入繁中服新聞。
PlusoneChiang Nov 24, 2025
51f5a3b
update readme
PlusoneChiang Nov 24, 2025
7c9dbf5
關閉插件支援,關閉TC服不支援功能。
PlusoneChiang Nov 25, 2025
707d629
關閉初次啟動的語言選單
PlusoneChiang Nov 25, 2025
fdafbe9
修改初次啟動流程,隱藏語言與dalamud啟動設定,並設定初始值。
PlusoneChiang Nov 25, 2025
be191a6
新增發布腳本
PlusoneChiang Nov 25, 2025
6dd4edb
設定預設起動器語言
PlusoneChiang Nov 25, 2025
e66b3ec
fix patch error
PlusoneChiang Nov 25, 2025
fd5d7ec
修正錯誤,初始化更新檔暫存位置。
PlusoneChiang Nov 25, 2025
325ca42
修改編譯設定。
PlusoneChiang Nov 26, 2025
505352d
add nativeAOT project,
PlusoneChiang Nov 26, 2025
807bad8
Fix SHA1 creation in MakeComputerId to prevent null reference exception
Nov 26, 2025
2723268
remove patcher path missing issue
PlusoneChiang Nov 27, 2025
64f9b4f
fix launch game parameter missing.
PlusoneChiang Nov 27, 2025
da9076e
停用Dalamud自啟動更新。
PlusoneChiang Nov 28, 2025
2ea6f08
fix support platform
PlusoneChiang Nov 28, 2025
7f57d1b
fix platform error
Nov 30, 2025
4aec937
fix not support platform error.
Nov 30, 2025
3c0532f
skip steam startup in Program.cs Init()
Xialai-Kulimi Dec 1, 2025
7d5766b
remove steam shutdown in LaunchServices.GetExitCode
Xialai-Kulimi Dec 1, 2025
094aabf
Merge pull request #3 from PlusoneChiang/kulimi-skip-steam-startup-in…
PlusoneChiang Dec 1, 2025
4b86135
Fix DLLOverride issue
onlycodeXX Dec 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions TC_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# XIVLauncher TC (Taiwan) Version

## 概述

此版本是針對台灣地區 FFXIV 玩家的特殊修改版本,包含台灣伺服器支援和 reCAPTCHA 驗證整合。

## 主要功能

### 台灣伺服器支援
- 支援台灣地區登入 API
- 台灣補丁伺服器整合
- 台灣遊戲大廳和伺服器連線
- 支援 Email 登入方式

### reCAPTCHA 驗證
- 整合 Google reCAPTCHA 驗證
- WebView2 控制項載入驗證頁面
- 虛擬主機映射技術繞過域名限制
- 自動 token 獲取和傳遞

### 遊戲啟動優化
- 台灣地區遊戲參數配置
- Session ID 交換機制
- 優化網路連線設定

## 建置說明

### 關閉自動更新建置
```bash
# 使用 ReleaseNoUpdate 配置(推薦)
dotnet build src\XIVLauncher\XIVLauncher.csproj -c ReleaseNoUpdate

# 或手動指定條件編譯符號
dotnet build src\XIVLauncher\XIVLauncher.csproj -c Release -p:DefineConstants="TRACE;XL_NOAUTOUPDATE"
```

### 一般建置
```bash
dotnet build src\XIVLauncher\XIVLauncher.csproj -c Release
```

## 設定說明

### reCAPTCHA 設定
在使用前需要設定 `recaptcha_page.html` 中的 SITE_KEY。

## 已知問題

1. reCAPTCHA 需要有效的 SITE_KEY 才能運作
2. WebView2 運行時需要在系統上安裝

## 相容性

- .NET 9.0
- Windows 平台
- WebView2 Runtime

## TODO

### 高優先級
- [*] 最新消息版面嵌入 [參考連結](https://user-cdn.ffxiv.com.tw/news/251115/launcher_left.html)
- [*] 考慮調整CSS讓風格一致化。 ***直接白底保留原本樣式。***
- [*] boot更新流程 *繁中服boot並沒有提供其他工具,略過boot的更新* **即使使用國際服的boot版本也無傷大雅**
- [ ] Launcher更新流程 *建立更新伺服器有點難度,考慮手動build版提供下載*
- [ ] Dalamud注入驗證 *目前還使用國際服版本的更新流程,但版本會不匹配,暫時無效*
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,8 @@ private Process RunInPrefix(ProcessStartInfo psi, string workingDirectory, IDict

var wineEnviromentVariables = new Dictionary<string, string>();
wineEnviromentVariables.Add("WINEPREFIX", Settings.Prefix.FullName);
wineEnviromentVariables.Add("WINEDLLOVERRIDES", $"msquic=,mscoree=n,b;d3d9,d3d11,d3d10core,dxgi={(wineD3D ? "b" : "n")}");
// DXVK on macOS uses Wine's builtin dxgi.dll, only d3d11 is native
wineEnviromentVariables.Add("WINEDLLOVERRIDES", $"msquic=,mscoree=n,b;d3d9,d3d10core,dxgi={(wineD3D ? "b" : "b")};d3d11={(wineD3D ? "b" : "n")}");

if (!string.IsNullOrEmpty(Settings.DebugVars))
{
Expand Down
33 changes: 12 additions & 21 deletions src/XIVLauncher.Common/ClientLanguage.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using XIVLauncher.Common.Util;
using XIVLauncher.Common.Util;

namespace XIVLauncher.Common
{
Expand All @@ -7,33 +7,24 @@ public enum ClientLanguage
Japanese,
English,
German,
French
French,
TraditionalChinese,
}

public static class ClientLanguageExtensions
{
public static string GetLangCode(this ClientLanguage language, bool forceNa = false)
{
switch (language)
return language switch
{
case ClientLanguage.Japanese:
return "ja";

case ClientLanguage.English when GameHelpers.IsRegionNorthAmerica() || forceNa:
return "en-us";

case ClientLanguage.English:
return "en-gb";

case ClientLanguage.German:
return "de";

case ClientLanguage.French:
return "fr";

default:
return "en-gb";
}
ClientLanguage.Japanese => "ja",
ClientLanguage.English when GameHelpers.IsRegionNorthAmerica() || forceNa => "en-us",
ClientLanguage.English => "en-gb",
ClientLanguage.German => "de",
ClientLanguage.French => "fr",
ClientLanguage.TraditionalChinese => "zh",
_ => "en-gb",
};
}

public static string GetLangCodeLodestone(this ClientLanguage language, bool forceNa = false)
Expand Down
4 changes: 2 additions & 2 deletions src/XIVLauncher.Common/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ public static class Constants

public const uint STEAM_APP_ID = 39210;
public const uint STEAM_FT_APP_ID = 312060;

public static string PatcherUserAgent => GetPatcherUserAgent(PlatformHelpers.GetPlatform());
// TC only support Windows platform
public static string PatcherUserAgent => GetPatcherUserAgent(Platform.Win32);

private static string GetPatcherUserAgent(Platform platform)
{
Expand Down
Loading