add: teamspeak - #2215
Conversation
Voice/text chat server for online communities and gaming groups. Distributed as a closed-source official binary (no GitHub releases), downloaded directly from teamspeak.com and installed via systemd. License is accepted non-interactively (license_accepted=1), matching the mechanism TeamSpeak's own official Docker image uses. ServerQuery admin credentials and the privilege key generated on first start are saved to ~/teamspeak.creds.
Try this scriptCOMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/opastorello/ProxmoxVED/add-teamspeak \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/opastorello/ProxmoxVED/add-teamspeak/ct/teamspeak.sh)"
Against a core branch as wellAdd Useful flags while testing
|
|
❌ Pull Request Closed – PR Template Not Used The PR description is missing the 📦 Application Requirements section, which means this PR was not opened with the ProxmoxVED PR template. This usually happens in one of two ways:
The ProxmoxVED template contains required sections (Type of Change, Code & Security Review, Application Requirements, Source) that the maintainers rely on to review submissions. A custom description — no matter how thorough — cannot replace it. What to do
⚠ Maintainer note Please do not ping or repeatedly contact maintainers to reopen this PR. Open a fresh PR with the correct template instead. |
|
Reopened correctly with the proper template as #2216 — the description section got dropped from this one during posting. Closing this one for real. |
Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.
✍️ Description
Adds TeamSpeak Server, a voice/text chat server for online communities and
gaming groups — in continuous use since the early 2000s and still one of the
most widely deployed platforms of its kind.
Built primarily with AI assistance (Claude Sonnet 5, standard reasoning
effort), following
AGENTS.mdand.github/agents/pve-script-creator.agent.md.Reviewed and corrected across several real install/update runs on a live
Proxmox VE 9.2.6 host — three real bugs only surfaced by actually installing
and connecting a client, not by static checks:
fetch_and_deploy_from_urldoesn't handle bzip2 (filereportsbzip2 compressed data, which its type-detection doesn't match). TeamSpeakonly ships
.tar.bz2. Worked around with a directcurl | tar -xjfextraction — no other core helper covers this format, so this isn't
reinventing an existing one.
grepwith no match exits 1, and under this project'scatch_errors(which enables
pipefail), that's treated as a fatal script error eventhough "no match yet" is the expected state while polling for the server's
first-boot log line. Guarded every such check with
|| true.this version. Older TeamSpeak docs describe a "ServerQuery Admin Account
created" log block with a password — current 3.13.8 never prints it on a
fresh single-virtual-server install. Only the "ServerAdmin privilege key"
(used once, in the client, to claim admin) actually appears. Adjusted the
script, JSON notes and default_credentials to match observed reality
instead of outdated documentation.
Other notable points for review:
source repo, distributed only from teamspeak.com. The install/update
scripts resolve the current download URL and version by reading that page
at run time (regex against the direct download link), since no version API
exists. This is a real fragility trade-off, discussed and accepted over
hardcoding a version (which would make
updateable: truemisleading andgo stale immediately per this repo's own guidance against pinned versions).
license_accepted=1passed tots3server), the same non-interactive mechanism used by TeamSpeak's ownofficial Docker image (
TS3SERVER_LICENSE=accept) — confirmed againsttheir published Dockerfile/entrypoint before using it.
linux_amd64,linux_x86, andfreebsd_amd64builds are published.no account/payment needed for typical community use.
🔗 Related PR / Issue
Link: #
✅ Prerequisites (X in brackets)
🏗️ arm64 Support (X in brackets)
🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_release,fetch_and_deploy_codeberg_release,fetch_and_deploy_gl_release, orfetch_and_deploy_from_urlinstead ofgit pull.🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance, and the output has been reviewed and corrected to match those guidelines.📋 Additional Information (optional)
Tested on a live Proxmox VE 9.2.6 host via the public-fork
curlone-liner(
docs/guides/source-origin.mdvariant 1): fresh install, service/portverification (9987/udp, 10011/tcp, 30033/tcp), a forced update run (old
version marker → real re-download → restart), and confirmed the virtual
server's database/config survive an update (no new privilege key generated
on the update restart, meaning existing data wasn't wiped).
600+ stars: TeamSpeak Server has no public source repository (closed-source),
so there's no GitHub star count to check — noting this explicitly rather than
leaving the box ambiguous. Judging by real-world adoption instead: it's one
of the most widely deployed voice platforms in gaming, in continuous use for
over two decades.
🌐 Source
next-gen server (github.com/teamspeak/teamspeak6-server) with proper
releases, but its server licensing is still marked "Coming Soon" on their
own site — deliberately not building on that yet.