docs: add offline knowledge library with project analysis and external references

- function-inventory: complete public API for 10 Rust crates + 56 Dart files
- coverage-analysis: 312 Rust tests, 221 Dart tests, doc coverage gaps
- doc-quality-analysis: duplications, broken refs, useless content audit
- link-coverage-report: all internal/external links validated
- external/teaspeak: TeaSpeak voice server architecture & protocol
- external/respeak: ReSpeak org, tsclientlib, tsproto, crypto docs
- external/yatqa-en/de: yat.qa admin tool (English + German)
- reviews/: cross-validation reports for all analyses

All documentation only, no code changes.
This commit is contained in:
Edison Jwa
2026-06-13 02:00:26 +09:00
parent 89bbfa1e18
commit dd6e80f72a
13 changed files with 3358 additions and 0 deletions
+348
View File
@@ -0,0 +1,348 @@
# YaTQA Knowledge Base (English)
> Source: https://yat.qa/ — Last fetched: 2026-06-13
> Version: v3.9.9b (01 Mar 2023)
## Overview
**YaTQA** (Yet Another TeamSpeak³ Query Admin Tool) is a Windows application for managing **TeamSpeak 3 servers and instances** using the ServerQuery interface. It provides a graphical interface to all query commands, eliminating the need to learn raw query syntax.
- **Author:** Janni "Яedeemer" K. (northern Germany)
- **Language:** Written in Delphi 2009 (50,000+ lines of code)
- **Development started:** April 10, 2011
- **First release:** June 29, 2011
- **License:** Free and fully functional freeware (no adware/spyware)
- **Platforms:** Windows XP and up, Linux via Wine
- **Size:** ~1.3 MiB installer
- **Languages included:** English and German (selectable during installation)
- **Supported servers:** TeamSpeak 3.9.0 through 3.13.7, TeaSpeak 1.4.10-beta
- **Download:** https://dl.yat.qa/stable/
- **Website:** https://yat.qa/
### Key Tagline
*"Dinosaurs weren't using TeamSpeak and wiped about 66 million years ago. Coincidence? I think not."*
---
## Features
**YaTQA supports ALL ServerQuery features with no exceptions.** The feature list below focuses on capabilities beyond what the standard TS3 client offers.
### General Features (No Admin Required)
- **DNS Resolver:** Detailed DNS lookup visualization simulating TeamSpeak client behavior (10 different client version lookups)
- **Blacklist Check:** Check TeamSpeak's blacklist for any IP
- **Blacklist2:** Check TeamSpeak's blacklist2 for virtual servers from an instance's server list
- **User Graph:** View server statistics from Planet TeamSpeak as a chart, save as PNG image
- **Client Cache:** Find avatars, icons, and chat logs in your client cache
### Console (Query Interface)
- **Autocomplete:** Command completion including undocumented commands
- **Parameter Help:** Displays every command's parameters based on extensive research
- **Parameter Value Selection:** Press Ctrl+Space to select values from a list
- **Result Analysis:** Groups datasets and explains most values
- **Scripting:** Load and execute command lists from files
- **Events:** Subscribe to server events and log them in the console
### SSH Tunnel
- **Encryption:** Fully encrypted connection (except file transfers)
- **Speed:** Notably faster on most servers (similar to `tcp_nodelay`)
- **Privacy:** Always hides your IP (you appear as 127.0.0.1)
- **Flood Bypass:** Circumvents all flood restrictions (127.0.0.1 is usually whitelisted)
### Instance Features (Requires serveradmin)
- View/edit instance settings and stats
- View license details and IP bindings
- See all virtual servers
- Add local notes to servers (stored locally)
- Start/stop/create/delete/rename virtual servers
- Become invisible (server bug, may be fixed)
- Send message to all servers
- Create/mass-create/deploy snapshots (including file-inclusive snapshots)
- Deploy manipulated snapshots
- Copy servers using snapshots
- Reset permissions to template groups
- Save/restore channel file backups (incremental backup supported)
### Virtual Server Features
- Ignore host message modal quit and high security level
- Very detailed virtual server statistics
- Edit multiple servers at once
- Collapsible server tree (optionally topmost)
- Move/kick/ban/describe multiple users at once
- Create multiple channels at once
- Use channel as template for other channels
- Edit multiple channels at once
- Send messages to multiple users/channels at once
- Edit permissions of multiple users/channels at once
- Move files between channels
- Image preview without download (bmp, gif, jpg, png, pbm, pgm, ppm, xbm, xpm)
- Upload/download entire folder structures
- Add users to groups by entering names
- Working permission overview with realtime editing
- Copy permissions between servers/instances
- Compare permission values and powers
- Find all clients/groups with a certain permission
- Edit multiple groups at once
- Enhanced client database with more details and search features
- Download full client database with one click
- Export client database to HTML or CSV
- Highlight banned users and IP-sharing profiles
- Browse log from any position
- Manage user custominfo (search, view, edit, add)
- Export log to HTML or TXT
- Download icons and avatars
- Identify avatar owners on your server
- Manage server template
- Monitor uploads/downloads
### Supported Image Formats
| Format | Description |
|--------|-------------|
| bmp | Windows Bitmap |
| gif | Graphics Interchange Format |
| jpg/jpeg | Joint Photographic Experts Group |
| png | Portable Network Graphics |
| pbm | Portable Bitmap (ASCII and binary) |
| pgm | Portable Graymap (ASCII and binary) |
| ppm | Portable Pixmap (ASCII and binary) |
| xbm | X BitMap |
| xpm | X PixMap |
---
## Architecture / How It Works
### Connection Methods
- **Raw TCP/Telnet:** Standard query connection (default port 10011)
- **YaTQA SSH Tunnel:** Via Plink (PuTTY suite) — encrypted, faster, hides IP
- **TeamSpeak SSH:** Native TS3.3+ SSH support (also supported but fewer advantages)
### Data Storage
- **Portable Mode:** All data in installation directory (`yatqa.ini` present)
- **Standard Mode:** Some files stored in `%APPDATA%\YaTQA`
- **Icon Cache:** 16-bit RES format (`icons.res`)
- **Command History:** `commandhistory.txt`
- **Debug Log:** `RedeemerTS3.log` (created with `-debug` switch)
### DNS Resolution
YaTQA simulates lookup steps done by TeamSpeak and displays them visually. Uses Google's DNS servers for reliability. Supports:
- A and CNAME records
- SRV records
- TSDNS lookups
- All 10 different client version DNS behaviors
### Snapshot System
- Snapshots contain all server settings (except port and virtual server ID)
- Snapshots do NOT include files, icons, or avatars
- File backups include files and icons (not avatars due to server limitations)
- Pseudo snapshots allow server copying without keypair
- Supports Zstd-compressed snapshots (3.10.0+ format)
### Anti-Flood Protection
- Configurable "Commands to Flood" setting (recommended: ~20)
- Configurable delay between commands (recommended: 340ms for non-own servers)
- SSH connections bypass flood restrictions (127.0.0.1 whitelisted)
---
## Configuration
### Application Settings
| Setting | Description |
|---------|-------------|
| Improved XP Unicode display | Uses Arial Unicode MS for better CJK support |
| Refresh on tab change | Auto-refresh data when switching tabs |
| Use local time | Local time instead of UTC |
| Improved channel dropdowns | Tree view lines for sub-channels |
| Minimize to tray | Minimize to system tray |
| Always show tray icon | Persistent tray icon |
| Enable icon caching | Cache icons in `icons.res` (recommended) |
| Don't use icons globally | Disable icon display |
| Try Windows Aero | Use Aero theme (Vista+) |
| Disable Aero glow | Remove white shadow behind menu text |
| Search for updates on start | Auto-check for updates |
| Save sort settings | Remember sort preferences |
| Enable jump lists | Windows 7+ jump list integration |
### Compatibility Settings
| Setting | Description |
|---------|-------------|
| Commands to flood | Delay between commands (340 recommended for remote servers) |
| Allow non-default query port | Connect to ports other than 10011 |
| Allow deleting important groups | Enable deletion of first 5 server/4 channel groups |
| Allow leaving important groups | Allow serveradmin to leave Admin Server Query |
| Allow changing machine ID | Enable machine ID modification |
### SSH Tunnel Profiles
Configure SSH profiles for servers. When connecting to a server with a matching SSH profile, YaTQA automatically uses the tunnel.
### Pie Chart Styles
Choose from 4 different pie chart styles (selected by user voting).
---
## Startup Parameters
| Parameter | Description |
|-----------|-------------|
| `-a` | Connect to default server |
| `-b [IP]` | Blacklist check |
| `-c IP Query_Port [User Pass [Voice_Port]]` | Connect to specified server |
| `-d` | DNS lookup |
| `-i` | Icon collection |
| `-p` | Permission editor |
| `-s [IP]` | User statistics |
| `-debug` | Enable debug logging |
---
## System Requirements
### Minimum Requirements
- **OS:** Windows XP+ (desktop), Windows 2012+ (server)
- **Disk:** 3 MB for YaTQA (more for configuration/snapshots)
- **Resolution:** 960×720 (general), 1024×720 (server tree), 1024×768 (console)
### Features Missing on Windows XP
- Ghost Mode
- Nameserver for DNS lookups
- DNS lookup group folding
- Folding server groups in user DB server group mode
### Features Missing on Windows Vista/XP
- Jump lists
### Wine/Linux Limitations
- Memory leaks (Wine doesn't support removing link labels)
- Features missing on XP also missing on Wine
- Additional limitations: no array property grouping, no DNS grouping, no server group mode in user DB
- Plink must be installed manually (version 0.61+)
---
## Key Concepts
### ServerQuery Interface
The TeamSpeak 3 ServerQuery interface is a text-based protocol for managing TeamSpeak servers. YaTQA wraps this interface in a GUI, providing:
- Command autocompletion
- Parameter help
- Value selection
- Result analysis
### Virtual Server
A virtual server is an independent TeamSpeak server instance running on a single physical server process. Multiple virtual servers can run on one instance.
### Instance
The server process that hosts one or more virtual servers. Managed via the "serveradmin" account.
### Snapshot
A complete backup of a virtual server's settings (excluding port and ID). Does not include files, icons, or avatars.
### Pseudo Snapshot
A user-manipulated snapshot that can be used to copy servers without preserving the original keypair.
### Permissions System
TeamSpeak uses a hierarchical permission system with:
- Server groups
- Channel groups
- Client permissions
- Permission powers (values that control what can be set)
### Anti-Flood
TeamSpeak servers limit query command frequency. YaTQA provides configurable delays and "Commands to Flood" settings to avoid bans.
### Blacklist / Blacklist2
TeamSpeak maintains blacklists of banned IPs (Blacklist1) and server UIDs (Blacklist2).
### Badges
Visual indicators in TeamSpeak showing user status, addon creator status, etc. YaTQA can configure badges.
### DNS Resolution
TeamSpeak clients resolve server addresses through multiple methods: A records, CNAME, SRV records, and TSDNS. YaTQA visualizes this process.
---
## Known Limitations
- **Channel passwords:** YaTQA never sends channel passwords. Requires `b_channel_join_ignore_password` and `b_ft_ignore_password` permissions.
- **Unicode:** Only Basic Multilingual Plane (BMP) supported (TeamSpeak limitation).
- **Integrated DNS lookups:** Only A and CNAME records (TSDNS and SRV unsupported in built-in resolver).
- **Ghost mode:** Many features don't work; ghost has Query Guest permissions.
- **Console:** Only limitations from TS3 server apply.
---
## IPv6 Support
Use square brackets `[]` around the server address. Supported since v1.4/2.0-pre for query connections. IPv4 tunnels (e.g., `[::ffff:7f00:1]`) are not supported.
---
## Project History
- **2011-04-10:** Development started (originally named "TS3Telnet")
- **2011-06-29:** First alpha version released
- **2014-04-18:** v2.0 introduced registration requirement for some features
- **2019-08-22:** YaTQA became unlimited freeware again
- **2023-03-01:** v3.9.9b released (removed time limit permanently)
### Naming
"Yet Another TeamSpeak³ Query App" — named because there were already many query tools when development started, but none worked for the author.
### Pronunciation
[jatka] in IPA notation — also suitable for German speakers.
---
## Global Hotkeys
| Shortcut | Action |
|----------|--------|
| Ctrl+F | Filter (permissions, log) or find |
| Ctrl+Alt+F | Find in lists |
| F3 | Find next |
| Ctrl+A | Select all |
| Ctrl+C | Copy or save selected data |
| Ctrl+Alt+A | Auto-adjust columns |
| F2 | Rename |
| F5 | Refresh tab |
| NUM + | Check selected checkbox items |
| NUM - | Uncheck selected checkbox items |
| Ctrl+Space | Select parameter value (console) |
| Ctrl+E | Escape selected text (console) |
| Ctrl+S | Save chart as image |
---
## Resources
- **Website:** https://yat.qa/
- **Download:** https://dl.yat.qa/stable/
- **Features:** https://yat.qa/features/
- **Manual:** https://yat.qa/manual/
- **Changelog:** https://yat.qa/changelog/
- **FAQ:** https://yat.qa/faq/
- **Support:** https://yat.qa/support/
- **Resources:** https://yat.qa/resources/
- **About:** https://yat.qa/about/
---
## Translation
YaTQA's original language is German. Translation is done using OmegaT with XLIFF files. Contact the author before translating. The translation system uses:
- `%s` — String placeholder
- `%d` — Decimal number placeholder
- `&` — Shortcut key
- `&&` — Actual ampersand
- `|` — Vertical line (hint text separator)
- `\r\n` — New line
- `\t` — Tab