Apothecary Chat
Customizable Chat Overlay for Blue Protocol: Star Resonance
What is this?
A chat overlay widget that lets you create customizable chat panes to overlay on top of your game window. See party, guild, private messages, and more in separate, filterable windows with alert notifications.
Features
- Multiple Chat Windows: Create unlimited customizable chat panes for different message types.
- Alert Notifications: Unique chimes for different message types (party, guild, DM, etc.).
- Private Messages: See DMs without opening friends list, even from non-friended players.
- Chat Filters: Filter messages by text content, player, or regex patterns.
- Click-Through Mode: Position windows, then enable click-through to avoid interference.
- Custom Themes: Adjustable colors, opacity, and styling per window.
- Multi-Interface: Monitor multiple network interfaces simultaneously.
- Multi-Service: Separate databases for different game regions (Global, SEA, CN).
Requirements
- WinPcap or Npcap must be installed (already present if you use a DPS Meter).
- For non-admin usage, configure pcap for standard user capture.







Quickstart Guide
First-Time Setup
Download, extract, and run apothecary_chat.exe. On first launch, select your game's network interface.
Tip: Hold left SHIFT on startup to re-select the network interface.
System Tray
- Red = Disconnected
- Green = Connected to game
- Right-click tray icon for menu options.
Creating Chat Windows
- Right-click tray icon and add a new window.
- Configure which message types to display (Party, Guild, World, DM, etc.).
- Set alert sounds for different message types in Global Settings.
- Customize colors and appearance in the Settings tab (visible for chat windows when not in click-through mode).
Using Filters
- Right-click any message to quickly add a filter.
- Filter by text content, player UID, or regex patterns.
- Apply filters globally or per-window.
Changelog
- Smoother window resizing via event coalescing and deferring.
- Better support for special characters in filter text.
- Fixed text overlapping when windows are made very small.
Chat Filter System: Filter out unwanted messages by text content or player.
- Right-click any message to quickly add a filter (chat window must not be in click-through mode).
- Choose to filter by message text or by player UID.
- Apply filters to all channels or specific channels only (World, Team, Guild, DM, etc.).
Global and Per-Window Filters:
- Filters can be saved globally (apply to all windows) or per chat window (affect only that specific window).
- Confirmation prompt asks where to save when adding filters via right-click.
Filter Rule Types:
- Simple: Basic text matching (case-insensitive by default, optional case-sensitive).
- Regex: Advanced pattern matching using regular expressions.
- UID: Filter specific players by their unique character ID.
Filter Rules Dialog: Full-featured editor accessible from tray menu or right-click context menu.
- Add, edit, delete, and reorder filter rules within the editor.
- Enable/disable individual rules without deleting them.
- Add comments to rules for documentation purposes.
General:
- Messages now display the server's epoch timestamp instead of relying on local capture time.
- Improved performance when adding new messages (incremental layout changes in chat windows).
Bug Fixes:
- Fixed issue where the tray visibility menu could get stuck when focus changed without clicking.
- GDI font-renderer was not respecting monospacing request for timestamp rendering with Fira-Sans. Implemented manual monospacing to ensure consistent timestamp spacing.
- Visibility sub-menu no longer closes automatically, allowing multiple entries to be clicked before closing by clicking outside the dialog.
- Added per-window visibility toggle. Enable custom windows that are shown sometimes and hidden at others (e.g., a Global Chat window disabled during dungeons but enabled for boss hunting).
- Always pad each section of time up to two digits for consistent log spacing (e.g., 09:00 instead of 9:00).
- Apply each chat window's background color to the scrollbar for theme consistency.
- Improved marker compatibility with Season II netcode changes.
- Ported remaining flow reassembly from lwip for pcap flow monitoring. Nearing a complete TCP stack implementation.
- Detect TCP window gaps (missing data) if not captured for a stream, and re-synchronize rather than continuing with out-of-sync flow.
- Added additional edge cases in duplicate detection.
- Improved corrupt packet detection, discarding, and packet resequencing (TCP out-of-order buffering).
- In the case of corruption, there will be no "DUP" message anymore, as the DUP is instead treated as the intact original.
- For reliability additions to work fully, explicitly disable checksum offloading in your Network Card's Properties. Otherwise the checksum field may not be capturable. If checksum is not present (0), a best-effort approach without using checksum will be used instead.
- Added proper TCP fragmentation support.
- Improved duplicate rejection and filtering.
- Fixed a problem in the state machine that could prevent flow timeout and swapping from occurring. Previously, if the game disconnected (closing the game, swapping characters, etc.), Apothecary Chat could get stuck bound to the old game session.
- Color-coded tray icon: Red = Disconnected, Green = Connected.
- Consider any validly framed game packets as game data to prevent timeout and overzealous re-entry of detection state in the absence of chat messages (minimalist processing of non-chat payloads).
- Added connection state and time since last received data frame to top of log window for clearer connection status.
- Log window now set to always-on-top z-order.
- Now shows how many player names are saved in the database on startup.
- Fixed an issue where unexpected network frames could cause the app to freeze or become unresponsive (critical - could cause infinite loop).
- Fixed a race condition that could cause problems when renaming chat windows during data reception.
- Improved game flow detection.
- Added database health checks.
- Configuration values are now clamped to stay within safe ranges (such as if the settings file is hand-edited).
- Multi-interface packet aggregation: Ability to monitor more than one network interface at a time.
- Example use case: Playing on a laptop with WiFi and Wired connections, switching between interfaces on the fly by plugging in when at your desk. The game automatically reconnects, and Apothecary Chat can now follow the game traffic between interfaces and continue working.
- Similarly supports normal NIC and VPN interface selection, etc.
- Note: Selecting multiple interfaces may increase CPU utilization. Each interface accrues another packet monitoring thread.
- Added
-servicecommand-line argument. Launching with-servicesets an alternate service name and creates/uses a different database file (e.g.,-service SEA). - Different game instances may have overlapping UIDs for players. A player on SEA may have the same UID as a player on Global or CN. This poses a problem as the program builds a UID-to-Name database. Mixing game instances on the same database may lead to name errors.
- Batch file example included (SEA.bat) to launch Apothecary Chat using a separate "SEA" database.
- Added custom colors and a color picker to Global Settings and Window Settings for enhanced theming.
- Granularity on the Apply button for all windows. Individual settings can be checked or unchecked before confirming, and only selected settings will be applied.
- Switched from PlaySound to XAudio for sound playback (specifically for muxing). Allows multiple chimes to play concurrently.
- Rewrote TCP de-duplication logic, session scanning, timeout/disconnect/rescan handling. Aims to stop duplicate messages during poor connection and improve reliability.
- Fixed a multithreaded race condition (critical - program crash).
- Initial release.
- Chat overlay widget that permits creating an infinite number of customizable chat panes to be overlayed on top of the game window.
- Create individual or combined windows that show party messages, guild messages, private messages, etc.
- Set alert notifications (chimes) on chat message reception with unique notifications for different message types.
- See DMs (private messages) without opening the friends list, and receive alerts when receiving messages without having someone friended.
- Two-part UI: System tray icon (right-click menu) and chat windows. When not in click-through mode, a tabbar is displayed for chat windows with a settings tab for customization.
- SQL-based UID-to-Name mapping with local database persistence stored in
%USERPROFILE%\AppData\Local\apothecary_chat\. - Click-through mode with hotkey controls. Add windows, position them, configure them, then enable click-through mode.
- Left SHIFT recovery feature: Hold left SHIFT on application start to re-prompt for the network interface selection.
- Requires WinPcap or Npcap. For non-admin usage, pcap must be configured for standard user capture.
Download
Latest Version
File: Apothecary Chat_2026-01-24_080440.7z
Size: 1012 KiB (1,036,477 bytes)
Installation
Extract the archive anywhere and run apothecary_chat.exe. Data is stored in %USERPROFILE%\AppData\Local\apothecary_chat\.
Contact
Issues or suggestions? DM me on Discord.
Credits
Acknowledgments
- Netcode reference: Star Resonance Damage Counter
- Blue Protocol: Star Resonance
Bandai Namco Studios Inc.
Shanghai Bokura Network Technology
A Plus Japan Inc.
Disclaimer
This tool reads network traffic (similar to DPS meters/parsers). It is read-only, limited to chat messages only, and will never interact with the game beyond that.