NexVoice Server unter Windows einrichten, konfigurieren und lizensieren.
Server-Paket herunterladen
Entpacken
C:\NexVoice\. Der Ordner sollte Schreibrechte haben (kein Programme-Ordner nötig).Erststart (automatische Konfiguration)
NexVoiceServer.exe als Administrator (Rechtsklick → Als Administrator ausführen). Beim ersten Start wird automatisch eine server.json erzeugt.Firewall freigeben
Öffne server.json mit einem Texteditor (z.B. Notepad++).
Vollständiges Beispiel:
{
"server": {
"tcpPort": 9987,
"udpPort": 9987,
"logFile": "nexvoice.log",
"logLevel": "info"
},
"license": {
"key": "NEXV-PRIV-XXXX-XXXX-XXXX"
},
"globalApi": {
"publicIp": "auto",
"listed": true,
"description": "Mein NexVoice Server",
"country": "DE"
},
"virtualServers": [
{
"id": 1,
"name": "Haupt-Server",
"maxSlots": 32,
"serverKey": "sicheres-passwort-hier",
"welcomeMessage": "Willkommen!"
}
]
} license.key — Lizenzschlüssel aus deinem Account-Dashboard. Leer lassen für Freemodus (32 Slots).
globalApi.publicIp — "auto" erkennt deine öffentliche IP automatisch. Manuell setzen bei Multi-IP-Hosts.
listed: false — Server sendet weiterhin Heartbeats (im Admin-Panel sichtbar), ist aber nicht im öffentlichen Server-Browser gelistet.
Server-Icon & Banner werden nicht in der server.json konfiguriert. Verbinde dich als Owner mit dem NexVoice Client, gehe zu Server → Einstellungen → Darstellung und setze dort Icon-URL und Banner-URL. Die Änderungen werden beim nächsten Heartbeat (alle 30 Sek.) automatisch im Server-Browser sichtbar. Nur lizenzierte Server können Icon & Banner anzeigen.
Lizenzschlüssel kaufen
NEXV-XXXX-XXXX-XXXX-XXXX.Schlüssel in server.json eintragen
server.json unter license.key ein.Server neu starten
NexVoiceServer.exe neu. Beim Start prüft der Server die Lizenz automatisch gegen die API. Im Log siehst du: [License] API OK — type=private 32 slots.
Mit einer Hoster-Lizenz kannst du beliebig viele virtuelle Server-Instanzen
starten — solange dein Slot-Pool reicht. Füge einfach weitere Einträge in das
virtualServers-Array ein:
"virtualServers": [
{
"id": 1,
"name": "Community Server",
"maxSlots": 50,
"serverKey": "admin-pw-1"
},
{
"id": 2,
"name": "Gaming Clan",
"maxSlots": 30,
"serverKey": "admin-pw-2"
},
{
"id": 3,
"name": "Events",
"maxSlots": 20,
"serverKey": "admin-pw-3"
}
] Die Summe der maxSlots-Werte darf deinen Slot-Pool nicht überschreiten. Überschüssige VSes werden beim Start übersprungen (mit Hinweis im Log).
Der NexVoice WPF-Client enthält ein eingebautes Server-Verwaltungspanel. Sobald du als Server Owner verbunden bist, hast du Zugriff auf:
Privilege Keys sind einmalig einlösbare Admin-Tokens. Du kannst sie an neue Admins oder Moderatoren vergeben, ohne dass sie dein Server-Passwort kennen müssen.
Key erstellen
Key weitergeben
a3f7e...d29c.Key einlösen
Key widerrufen
NexVoice bietet zwei Wege für externe Erweiterungen:
DLL/SO-Datei in den plugins/ Ordner legen — wird beim Serverstart automatisch geladen. Vollständige Audio- & Event-API via Plugin SDK v1.1.
Bots verbinden sich per WebSocket-Gateway (ws://host:9990) für Events und per REST API (http://host:9988) für Aktionen. Kein C++ nötig.
Verwende NSSM (Non-Sucking Service Manager), um den Server als Windows-Dienst einzurichten:
# NSSM herunterladen: https://nssm.cc/download
# In CMD als Administrator:
nssm install NexVoiceServer "C:\NexVoice\NexVoiceServer.exe"
nssm set NexVoiceServer AppDirectory "C:\NexVoice"
nssm set NexVoiceServer Start SERVICE_AUTO_START
nssm start NexVoiceServer Danach startet der Server automatisch mit Windows und nach Abstürzen neu.
[License] API validation failed — free-tier limits apply
Ursache: Lizenzschlüssel ungültig, abgelaufen oder IP stimmt nicht überein.
Lösung: Prüfe den Schlüssel im Dashboard. Stelle sicher, dass globalApi.publicIp korrekt ist (oder auf "auto" steht). Abgelaufene Lizenzen verlängern unter /account.
bind() failed on port 9987
Ursache: Port 9987 wird bereits von einem anderen Prozess belegt.
Lösung: Prüfe mit netstat -ano | findstr :9987, welcher Prozess den Port belegt. Anderen Port in server.json setzen oder Prozess beenden.
[License] VS limit reached (1), skipping remaining entries
Ursache: Mehr virtuelle Server konfiguriert als die Lizenz erlaubt.
Lösung: Private-Lizenzen erlauben 1–2 Instanzen. Für mehr: Hoster-Lizenz kaufen.
[License] Slot pool exhausted
Ursache: Slot-Pool vollständig verbraucht — weitere VSes würden den Pool überschreiten.
Lösung: Reduziere die maxSlots-Summe aller VSes oder erweitere deinen Slot-Pool im Account-Dashboard.
Database initialization failed
Ursache: Keine Schreibrechte auf das Datenverzeichnis oder SQLite-Fehler.
Lösung: Stelle sicher, dass du die .exe als Administrator startest und der Ordner C:\NexVoice\ beschreibbar ist.