🪟

Server: Windows Installation

NexVoice Server unter Windows einrichten, konfigurieren und lizensieren.

Voraussetzungen

1. Installation

1

Server-Paket herunterladen

Lade nexvoice_1_2_0-WinServer.zip von mynexvoice.com/download oder direkt von diesem Link herunter.
2

Entpacken

Entpacke das ZIP in einen Ordner, z.B. C:\NexVoice\. Der Ordner sollte Schreibrechte haben (kein Programme-Ordner nötig).
3

Erststart (automatische Konfiguration)

Starte NexVoiceServer.exe als Administrator (Rechtsklick → Als Administrator ausführen). Beim ersten Start wird automatisch eine server.json erzeugt.
4

Firewall freigeben

Windows fragt beim ersten Start nach einer Firewall-Freigabe — bestätige diese für beide Netzwerktypen (privat & öffentlich). Falls du die Abfrage verpasst hast: Firewall → Eingehende Regel für Port 9987 TCP+UDP anlegen.

2. Konfiguration (server.json)

Ö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.

3. Lizenz einrichten

1

Lizenzschlüssel kaufen

Kaufe eine Lizenz im Shop. Nach dem Kauf erhältst du eine E-Mail mit deinem Schlüssel im Format NEXV-XXXX-XXXX-XXXX-XXXX.
2

Schlüssel in server.json eintragen

Trage den Schlüssel in server.json unter license.key ein.
3

Server neu starten

Starte 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.

4. Mehrere virtuelle Server (Hoster)

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).

5. Integriertes Server-Panel (WPF-Client)

Der NexVoice WPF-Client enthält ein eingebautes Server-Verwaltungspanel. Sobald du als Server Owner verbunden bist, hast du Zugriff auf:

🖥
Virtuelle Server
Erstellen, Pausieren und Verwalten mehrerer virtueller Server direkt im Client.
🔑
Privilege Keys
Admin-Token erstellen, anzeigen und widerrufen. Keys können an andere Nutzer weitergegeben werden.
👥
Gruppen & Rechte
Server-Gruppen anlegen, umbenennen, Prioritäten und Berechtigungen konfigurieren.
⚙️
Server-Einstellungen
Willkommensnachricht, Icon, Banner und Max-Slots live anpassen.
🎨
Badge-Anpassung
Rollen-Badges (Owner, Admin, Mod, Member) frei umbenennen und mit eigener Farbe versehen.
➡️
Nutzer verschieben
Als Owner/Admin: Rechtsklick auf Nutzer → zu beliebigem Voice-Channel verschieben.
💡 Hinweis: Das Server-Panel (VServer Verwalten) ist nur bei Clan- oder Hoster-Lizenzen verfügbar. Mit einer Privat-Lizenz hast du einen direkten Zugang zur Einzel-Instanz.

6. Privilege Keys

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.

1

Key erstellen

Öffne im WPF-Client: Server → Keys Verwalten. Gib eine optionale Beschreibung ein und klicke Erstellen. Der generierte Token wird sofort angezeigt.
2

Key weitergeben

Kopiere den Token und sende ihn sicher an den Empfänger. Der Token ist 64 Zeichen lang (Hex) und sieht aus wie: a3f7e...d29c.
3

Key einlösen

Der Empfänger öffnet im NexVoice Client: Server → Privilege Key einlösen, fügt den Token ein und bestätigt. Er erhält daraufhin automatisch Admin-Rechte auf dem Server.
4

Key widerrufen

Bereits vergebene Keys, die noch nicht eingelöst wurden, kannst du im Panel unter Keys Verwalten einzeln widerrufen. Eingelöste Keys sind automatisch verbraucht und können nicht erneut verwendet werden.

7. Bot- & Plugin-Integration

NexVoice bietet zwei Wege für externe Erweiterungen:

🔌 Native Plugins (C++)

DLL/SO-Datei in den plugins/ Ordner legen — wird beim Serverstart automatisch geladen. Vollständige Audio- & Event-API via Plugin SDK v1.1.

SDK & Plugins ansehen →
🤖 Remote Bots (WebSocket/REST)

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.

Bot-Quickstart ansehen →
💡 Hinweis: Bot-Tokens werden im integrierten Server-Panel unter Bot API → Bot erstellen generiert. Berechtigungen (read_messages, send_messages, manage_users, etc.) sind pro Token konfigurierbar.

8. Autostart als Windows-Dienst

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.

9. Fehlermeldungen

[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.

Client Installation Server: Linux