AiAeT-BetterPeakVoiceFix_EnFork icon

BetterPeakVoiceFix EnFork

A team voice status management tool that offers an overview view (J) and synchronization function, allowing for manual disconnection (alt+K) and reconnection./n一个队伍语音状态管理工具,提供概览视图(J)和同步功能,可手动断开(alt+K)重连。

By AiAeT
Last updated 6 hours ago
Total downloads 33
Total rating 1 
Categories Quality Of Life Client Side All Clients
Dependency string AiAeT-BetterPeakVoiceFix_EnFork-0.3.4
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

Better Voice Fix User Manual

Version: v0.3.0 | Game: PEAK | 中文版说明书

1. Introduction

Better Voice Fix is designed to resolve common voice chat issues in PEAK, such as connection failures, ID Drift (players showing as [Unknown]), and lack of status feedback. Version 0.3.0 introduces a new "Visualized Connection" protocol, making the voice connection process transparent and significantly enhancing reconnection stability.


2. Core Features & Mechanisms

A. Smart Name Fix (ID Drift Solution)

When the game's underlying data desynchronizes (causing Alt+J to show Unknown or Name: ""), the mod automatically triggers a 3-stage search mechanism:

Priority Method Description
1 (Fastest) Local Cache Retrieves the last known correct name from memory.
2 (Standard) Steam Lookup New in v0.3.0​. Queries the Steam servers directly using the player's Steam ID.
3 (Fallback) Scene Scavenger Scans all objects in the game scene (including hidden UI elements) to "scavenge" the name.

Result: Unknown names are eliminated from the player list. Even if the game logic fails, the names remain correct.

B. Connection Status Visualization

v0.3.0 visualizes the real-time connection steps instead of just showing "Disconnected" or "Connected".

Plaintext

[ Join Room ]
      │
      ▼
[ Connecting... ] ──────────────────────────────┐
      │                                         │
      ├─ (Time < 25s) ──▶ [ Status: Verifying / Joining ] (Yellow)
      │                                         │
      ├─ (Success) ─────▶ [ Status: Connected ] (Green)
      │                       │                 │
      │                       └─ (Lag/Drop) ────┘
      │
      └─ (Time > 25s) ──▶ [ Status: Disconnected ] (Red)

3. Shortcuts & Operations

⌨️ Key Bindings

Key Function Description
J Toggle Detail Panel Opens the detailed voice status panel at the top right. Press again to switch modes or close.
Alt + K Force Reset (SOS) Panic Button​. Use this if you can't hear others or they can't hear you.
Alt + J Debug Console For developers only. Displays raw logs and underlying data events.

🛠️ Alt + K Logic Flow

When Alt + K is pressed, the mod intelligently decides the action based on your current state:

Plaintext

[ User Presses Alt + K ]
          │
          ▼
    < Check Current Status >
          │
          ├─ Is Connected? ──┐
          │                  │
          │                  ▼
          │        [ Action: Disconnect ]
          │                  │
          │                  ├─ Send SOS: "Manual Disconnect"
          │                  └─ UI: Show Yellow "Manual Operation..."
          │
          └─ Is Disconnected / Connecting? ──┐
                                             │
                                             ▼
                                   [ Action: Force Reconnect ]
                                             │
           ┌─────────────────────────────────┴─────────────────────────────────┐
           ▼                                 ▼                                 ▼
 [ Strategy 1: Majority IP ]       [ Strategy 2: Host IP ]           [ Strategy 3: Blind Connect ]
 (Connect to the channel           (If no majority found,            (If all else fails, use
  where most players are)           follow the host)                  default auto-connect)

4. UI Panel Guide (Press J)

Top: Local Status

  • Local IP​: The voice server IP you are currently connected to.
  • Host IP​: The voice server IP the room host is connected to.
    • [Sync]: You and the host are on the same channel.
    • [Abnormal]: ​Red​. You are on a different channel from the host (voice isolation).

Middle: Player List

Format: [Status] [HostTag] PlayerName | Ping: xxms » Details

Status Color Legend:

Tag Color Meaning
[Connected] 🟢Green Voice is working normally.
[Connecting] 🟡Yellow New in v0.3.0​. Player is verifying, joining, or within the 25s grace period.
[Disconnected] 🔴Red Player failed to connect after 25s or explicitly disconnected.
[Left] Grey Player has left the game or died (and voice is gone).

Details (») Explanation:

  • v0.3.0 Users​: You will see specific steps like » Verifying..., » Joining....
  • Old Version / Non-Mod Users​: You will only see static info like » Connected: IP or » Connecting.

Bottom: SOS Snapshot (Black Box)

When a player drops connection or presses Alt+K, a red warning appears:

Detected XXX Disconnected

Target: (127.0.0.1) | Last: 123.456.78.9

  • Target​: The server they are trying to reach.
  • Last​: The server they were on before dropping (Fixed in v0.3.0).
  • Usage​: Helps determine if they are connecting to the wrong server or lost internet entirely.

5. FAQ

Q1: Why does it show [Connecting] for a long time?

A: The mod gives every joining player a ​25-second grace period​. If they don't connect within 25s, the status turns to a red [Disconnected]. This prevents false red alarms when players are just loading in.

Q2: I can't hear a teammate, and they are marked [Disconnected].

A: Ask them to check their internet or press Alt + K. If they don't have the mod, they must restart the game.

Q3: Why does Alt + K say "Manual Disconnect" first?

A: To prevent accidental resets. If you are currently ​connected​, the first press disconnects you safely. Press Alt + K again to trigger the forced reconnection logic.

Q4: Can players with older versions see my status?

A:

  • You see them​: Yes (Basic Disconnected/Connected status).
  • They see you​: Yes, but they won't see the detailed "Verifying..." steps, only a jump from Disconnected to Connected. It is recommended that everyone updates to v0.3.0.

Q5: What does "Host IP Changed" log mean?

A: If the host disconnects and reconnects to a different voice server, the mod detects and broadcasts this. All clients should press Alt + K to follow the host's new IP.

To be honest,I'm a novice. I used AI to assist me in organizing the code and the documentation. After nearly one month of testing in a multi-person room (8~12 player), the current version is now basically stable.