Skip to content

Commit

Permalink
Merge pull request #697 from qsb-dev/dev
Browse files Browse the repository at this point in the history
1.2.1
  • Loading branch information
misternebula authored Dec 16, 2024
2 parents b2e55d6 + bb3b0dc commit 63066cf
Show file tree
Hide file tree
Showing 11 changed files with 155 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- uses: actions/setup-dotnet@v1
- run: dotnet build -c Debug

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: Raicuparta.QuantumSpaceBuddies
path: .\QSB-NH\Bin\Debug
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
run: dotnet build -c Release

- name: Upload Artifact
uses: "actions/upload-artifact@v3"
uses: "actions/upload-artifact@v4"
with:
name: "${{ env.PROJ_USERNAME }}.${{ env.PROJ_NAME }}"
path: "QSB-NH/bin/Release"
Expand Down
4 changes: 3 additions & 1 deletion QSB.sln
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2569F98D-F671-42AA-82DE-505B05CDCEF2}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
.github\workflows\build.yaml = .github\workflows\build.yaml
DEVELOPMENT.md = DEVELOPMENT.md
.github\FUNDING.yml = .github\FUNDING.yml
LICENSE = LICENSE
README.md = README.md
.github\workflows\release.yml = .github\workflows\release.yml
TRANSLATING.md = TRANSLATING.md
EndProjectSection
EndProject
Expand All @@ -34,7 +36,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "APITestMod", "APITestMod\AP
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QSBPatcher", "QSBPatcher\QSBPatcher.csproj", "{CA4CBA2B-54D5-4C4B-9B51-957BC6D77D6B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QSB-NH", "QSB-NH\QSB-NH.csproj", "{74F84A39-1C9D-4EF7-889A-485D33B7B324}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QSB-NH", "QSB-NH\QSB-NH.csproj", "{74F84A39-1C9D-4EF7-889A-485D33B7B324}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
2 changes: 1 addition & 1 deletion QSB/QSB.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="OuterWildsGameLibs" Version="1.1.15.1018" IncludeAssets="compile" />
<PackageReference Include="OWML" Version="2.13.0" IncludeAssets="compile" />
<PackageReference Include="OWML" Version="2.14.0" IncludeAssets="compile" />
<Reference Include="..\Lib\*.dll" />
<ProjectReference Include="..\FizzySteamworks\FizzySteamworks.csproj" />
<ProjectReference Include="..\SteamRerouter\SteamRerouter.csproj" />
Expand Down
3 changes: 3 additions & 0 deletions QSB/QSBCore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public class QSBCore : ModBehaviour
Application.version.Split('.').Take(3).Join(delimiter: ".");
public static bool DLCInstalled => EntitlementsManager.IsDlcOwned() == EntitlementsManager.AsyncOwnershipStatus.Owned;
public static bool UseKcpTransport { get; private set; }
public static ushort KcpPort { get; private set; } = 7777;
public static bool ShowPlayerNames { get; private set; }
public static bool ShipDamage { get; private set; }
public static bool ShowExtraHUDElements { get; private set; }
Expand Down Expand Up @@ -406,6 +407,8 @@ static void Init(Assembly assembly)
public override void Configure(IModConfig config)
{
UseKcpTransport = config.GetSettingsValue<bool>("useKcpTransport") || DebugSettings.AutoStart;
var foundValue = config.GetSettingsValue<int>("kcpPort");
KcpPort = (ushort)Mathf.Clamp(foundValue, ushort.MinValue, ushort.MaxValue);
QSBNetworkManager.UpdateTransport();

DefaultServerIP = config.GetSettingsValue<string>("defaultServerIP");
Expand Down
8 changes: 8 additions & 0 deletions QSB/QSBNetworkManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public override void Awake()
_kcpTransport = gameObject.AddComponent<kcp2k.KcpTransport>();
// KCP uses milliseconds
_kcpTransport.Timeout = QSBCore.DebugSettings.Timeout * 1000;
_kcpTransport.Port = QSBCore.KcpPort;
}

{
Expand Down Expand Up @@ -161,6 +162,13 @@ public override void Awake()

public static void UpdateTransport()
{
if (_kcpTransport == null)
{
return;
}

_kcpTransport.Port = QSBCore.KcpPort;

if (QSBCore.IsInMultiplayer)
{
return;
Expand Down
126 changes: 126 additions & 0 deletions QSB/Translations/kr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"Language": "KOREAN",
"MainMenuHost": "멀티플레이어 생성",
"MainMenuConnect": "멀티플레이어 참가",
"PauseMenuDisconnect": "연결 끊기",
"PauseMenuStopHosting": "호스트 중단",
"PublicIPAddress": "공용 IP 주소\n\n(!당신의 기존 멀티플레이어 세이브 데이터는 삭제될 것입니다!)",
"SteamID": "Steam ID\n\n(!당신의 기존 멀티플레이어 세이브 데이터는 삭제될 것입니다!)",
"Connect": "연결",
"Cancel": "취소",
"HostExistingOrNewOrCopy": "기존 멀티플레이어 탐험대를 호스트하시겠습니까, 새로운 탐험대를 호스트하시겠습니까, 아니면 기존 싱글플레이어 탐험대를 멀티플레이어로 복사하시겠습니까?",
"HostNewOrCopy": "새로운 탐험대를 호스트하시겠습니까, 아니면 기존 싱글플레이어 탐험대를 멀티플레이어로 복사하시겠습니까?",
"HostExistingOrNew": "기존 멀티플레이어 탐험대를 호스트하시겠습니까, 아니면 새로운 탐험대를 호스트하시겠습니까?",
"ExistingSave": "기존 세이브",
"NewSave": "새 세이브",
"CopySave": "복사된 세이브",
"DisconnectAreYouSure": "정말 연결을 끊으시겠습니까?\n이렇게 하면 메인 메뉴로 돌아갑니다.",
"Yes": "",
"No": "아니오",
"StopHostingAreYouSure": "호스트를 중단하시겠습니까?\n이렇게 하면 모든 클라이언트가 연결이 끊어지고 모든 클라이언트가 메인 메뉴로 돌아갑니다.",
"CopySteamIDToClipboard": "호스트 서버.\n클라이언트는 다음 Steam ID를 사용하여 연결됩니다:\n{0}\n클립보드에 복사하시겠습니까?",
"Connecting": "연결 중...",
"OK": "OK",
"ServerRefusedConnection": "서버가 연결을 거부했습니다.\n{0}",
"ClientDisconnectWithError": "클라이언트가 오류로 연결이 끊어졌습니다!\n{0}",
"QSBVersionMismatch": "QSB 버전이 일치하지 않습니다. (클라이언트: {0}, 서버: {1})",
"OWVersionMismatch": "Outer Wilds 버전이 일치하지 않습니다. (Client:{0}, Server:{1})",
"DLCMismatch": "DLC 설치 상태가 일치하지 않습니다. (클라이언트: {0}, 서버: {1})",
"GameProgressLimit": "게임이 너무 많이 진행되었습니다.",
"AddonMismatch": "애드온 불일치. (클라이언트: {0} 애드온, 서버: {1} 애드온)",
"PlayerJoinedTheGame": "{0} 님이 접속했습니다!",
"PlayerLeftTheGame": "{0} 님이 퇴장했습니다!",
"PlayerWasKicked": "{0} 님이 추방되었습니다.",
"KickedFromServer": "서버에서 추방당했습니다. 사유 : {0}",
"RespawnPlayer": "리스폰 플레이어",
"TimeSyncTooFarBehind": "{0}\n서버 시간에 동기화하기 위해 가속하는 중...",
"TimeSyncWaitingForStartOfServer": "서버가 시작되기를 기다리는 중...",
"TimeSyncTooFarAhead": "{0}\n서버 시간에 동기화하기 위해 기다리는 중...",
"TimeSyncWaitForAllToReady": "루프가 시작되기를 기다리는 중...",
"TimeSyncWaitForAllToDie": "루프가 끝나기를 기다리는 중...",
"GalaxyMapEveryoneNotPresent": "아직 때가 되지 않았습니다. 모두가 이 장면을 목격해야 합니다.",
"YouAreDead": "사망했습니다.",
"WaitingForRespawn": "누군가가 당신을 살려주기를 기다리는 중...",
"WaitingForAllToDie": "{0}명의 플레이어가 죽기를 기다리는 중...",
"AttachToShip": "우주선에 부착",
"DetachFromShip": "우주선과 탈착",
"DeathMessages": {
"Default": [
"{0} (이)가 사망했습니다",
"{0} (이)가 죽었습니다"
],
"Impact": [
"{0} (은)는 역추진 로켓 사용을 잊어버렸습니다",
"{0} (은)는 운동 에너지를 경험했습니다",
"{0} (은)는 땅에 너무 세게 충돌했습니다",
"{0} (은)는 철푸덕하고 떨어졌습니다",
"{0} (은)는 충격으로 인해 사망했습니다",
"{0} (은)는 땅에 너무 강하게 부딪혔습니다"
],
"Asphyxiation": [
"{0} (은)는 숨 쉬는 것을 잊어버렸습니다",
"{0} (은)는 질식사했습니다",
"{0} (은)는 질식으로 인해 사망했습니다",
"{0} (은)는 숨쉬는 법을 잊었습니다",
"{0} (은)는 산소를 확인하는 것을 깜빡했습니다",
"{0} (은)는 공기가 부족했습니다",
"{0} (은)는 산소가 다 떨어졌습니다",
"{0} (은)는 어차피 공기가 필요 없었습니다"
],
"Energy": [
"{0} (은)는 구워졌습니다"
],
"Supernova": [
"{0} 의 시간이 다 됐습니다",
"{0} (은)는 불타버렸습니다",
"{0} (은)는 타버렸습니다",
"{0} (은)는 증발해버렸습니다",
"{0} (은)는 시간을 놓쳤습니다"
],
"Digestion": [
"{0} (은)는 한 끼 식사가 되어버렸습니다",
"{0} (은)는 물고기를 발견했습니다",
"{0} (은)는 사악한 생물체를 마주쳤습니다",
"{0} (은)는 잘못된 물고기를 건드렸습니다",
"{0} (은)는 소화되었습니다",
"{0} (은)는 소화로 인해 사망했습니다"
],
"Crushed": [
"{0} (은)는 눌려 찌부러졌습니다",
"{0} (은)는 으깨졌습니다",
"{0} (은)는 묻혀버렸습니다",
"{0} (은)는 제때 빠져나오지 못했습니다",
"{0} (은)는 모래 속에서 수영했습니다",
"{0} (은)는 모래를 과소평가했습니다",
"{0} (은)는 모래 속에 갇혔습니다"
],
"Lava": [
"{0} (은)는 용암 속에서 죽었습니다",
"{0} (은)는 녹아버렸습니다",
"{0} (은)는 용암에서 수영하려 했습니다",
"{0} (은)는 용암 속으로 떨어졌습니다",
"{0} (은)는 용암 때문에 죽었습니다",
"{0} (은)는 용암에서 수영을 즐겼습니다",
"{0} (은)는 용암에 타버렸습니다"
],
"BlackHole": [
"{0} (은)는 그들의 기억을 쫓았습니다"
],
"DreamExplosion": [
"{0} (은)는 폭파당했습니다",
"{0} (은)는 얼리어답터였습니다",
"{0} (은)는 펑 하고 터졌습니다",
"{0} (은)는 [의도적 게임 설계] 때문에 죽었습니다",
"{0} (은)는 폭발사산했습니다",
"{0} (은)는 잘못된 유물을 사용했습니다"
],
"CrushedByElevator": [
"{0} (은)는 눌려 찌부러졌습니다",
"{0} (은)는 으깨졌습니다",
"{0} (은)는 엘리베이터에 눌려 찌부러졌습니다",
"{0} (은)는 엘리베이터 아래에 서 있었습니다",
"{0} (은)는 납작한 화로인이 되었습니다",
"{0} (은)는 엘리베이터에 으깨졌습니다"
]
}
}
8 changes: 7 additions & 1 deletion QSB/default-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,13 @@
"title": "Use KCP Transport",
"type": "toggle",
"value": false,
"tooltip": "Use alternative transport that requires port forwarding but seems to be more reliable. The port to forward is 7777 as TCP/UDP. Use this if you are having trouble connecting. ALL PLAYERS MUST HAVE THIS AS THE SAME VALUE."
"tooltip": "Use alternative transport that requires port forwarding but seems to be more reliable. Use this if you are having trouble connecting. ALL PLAYERS MUST HAVE THIS AS THE SAME VALUE."
},
"kcpPort": {
"title": "KCP Transport Port",
"type": "number",
"value": 7777,
"tooltip": "The port to use for the KCP transport, if it is enabled. Must be port forwarded as TCP/UDP. ALL PLAYERS MUST HAVE THIS AS THE SAME VALUE."
},
"defaultServerIP": {
"title": "Last Entered IP/ID",
Expand Down
4 changes: 2 additions & 2 deletions QSB/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"author": "Nebula, John, Alek, & Rai",
"name": "Quantum Space Buddies",
"uniqueName": "Raicuparta.QuantumSpaceBuddies",
"version": "1.2.0",
"owmlVersion": "2.13.0",
"version": "1.2.1",
"owmlVersion": "2.14.0",
"dependencies": [ "_nebula.MenuFramework", "JohnCorby.VanillaFix" ],
"pathsToPreserve": [ "debugsettings.json" ],
"conflicts": [
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Spoilers within!
## Frequently Asked Questions

### I keep timing out when trying to connect!
Check the mod settings for "Use KCP Transport". You have to forward port 7777 as TCP/UDP, or use Hamachi. ***All players must either be using KCP, or not using KCP.***
Check the mod settings for "Use KCP Transport". You have to forward port 7777 as TCP/UDP (or a custom port number, which can be set in the mod settings), or use Hamachi. ***All players must either be using KCP, or not using KCP.***

### Why does SpaceWar show up in my Steam library?
This is for players who own the game on Epic or Xbox. Steam networking only works if you own the game on Steam, so we have to pretend to be SpaceWar (which every Steam user owns) so everyone can play.
Expand Down Expand Up @@ -128,6 +128,7 @@ See [DEVELOPMENT.md](DEVELOPMENT.md)
- [SakuradaYuki](https://github.com/SakuradaYuki) and [isrecalpear](https://github.com/isrecalpear) - Chinese translation.
- [poleshe](https://github.com/poleshe) - Spanish translation.
- [Deniz](https://github.com/dumbdeniz) - Turkish translation.
- [Akasha0513](https://github.com/Akasha0513) - Korean translation.

### Special Thanks
- Thanks to Logan Ver Hoef for help with the game code, and for helping make the damn game in the first place.
Expand Down
2 changes: 1 addition & 1 deletion TRANSLATING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ QSB can only be translated to the languages Outer Wilds supports - so if you don
- Chinese (Simplified)
- Spanish (Latin American)
- Turkish
- Korean

### Un-translated languages :
- Italian
- Polish
- Japanese
- Korean

## Translating

Expand Down

0 comments on commit 63066cf

Please sign in to comment.