ReTeamSpeak

Desktop TeamSpeak 3 client built with iced and tsclientlib for Windows, Linux, and macOS.

Current Direction

  • UI: iced
  • TeamSpeak protocol + state sync: tsclientlib
  • Protocol declarations reference: refercence/tsdeclarations/
  • Old in-tree protocol/audio/database/Tauri implementation has been removed

Current User-Facing Features

  • Connect to a TeamSpeak server by address and port
  • Use a nickname and optional server password
  • Browse channels and join a channel
  • Receive live server/channel/client state updates
  • Send and receive channel chat messages
  • Mute microphone state and sync it to TeamSpeak
  • Mute speaker/output state and sync it to TeamSpeak
  • Toggle headset/output hardware state and sync it to TeamSpeak
  • Toggle AFK state and sync it to TeamSpeak
  • Import TeamSpeak identity from the local TS3 settings.db
  • Select input and output audio devices
  • Push-to-talk and continuous voice modes
  • Noise cancellation selection in settings

Current Gaps

  • ServerQuery page is UI-only right now; execution is intentionally stubbed
  • Bookmarks are currently in-memory only
  • Identity import requires the rusqlite feature
  • Full audio build requires system audio/build dependencies

Build

Workspace root for cargo commands: src/

Default build

cd src
cargo check -p re-teamspeak

With identity import

cd src
cargo check -p re-teamspeak --features rusqlite

With audio and identity import

On systems missing packages, use Podman:

podman run --rm -v $(pwd):/workspace:Z -w /workspace/src \
  docker.io/library/debian:trixie bash -lc '
    apt-get update -qq &&
    apt-get install -y -qq \
      build-essential curl cmake pkg-config libasound2-dev libssl-dev &&
    curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y &&
    . /root/.cargo/env &&
    cargo check -p re-teamspeak --features audio,rusqlite
  '

Repository Layout

src/
├── Cargo.toml
└── iced-app/
    ├── Cargo.toml
    └── src/
        ├── main.rs
        ├── audio.rs
        ├── noise_cancel.rs
        ├── identity.rs
        └── theme.rs

Reference Material

  • refercence/tsclientlib/
  • refercence/tsdeclarations/
  • docs/protocol.md
  • docs/protocol_stack.md

License

MIT OR Apache-2.0

S
Description
Cross-platform TeamSpeak 3 client
Readme
589 KiB
Languages
Rust 97.2%
Shell 1.9%
Dockerfile 0.9%