NexVoice Server unter Debian/Ubuntu und systemd einrichten.
Abhängigkeiten installieren
sudo apt update && sudo apt install -y libssl3 libstdc++6 curl unzip
Server-Binary herunterladen
cd /opt
sudo mkdir nexvoice && cd nexvoice
sudo curl -LO https://mynexvoice.com/repo/server/nexvoice_1_2_0-LinuxServer.zip
sudo unzip nexvoice_1_2_0-LinuxServer.zip
sudo chmod +x NexVoiceServer
Erststart (erzeugt server.json)
sudo ./NexVoiceServer
# Beende nach ca. 3 Sekunden mit Ctrl+C — server.json wurde erzeugt
Firewall freigeben (ufw)
sudo ufw allow 9987/tcp
sudo ufw allow 9987/udp
sudo ufw reload {
"server": {
"tcpPort": 9987,
"udpPort": 9987,
"logFile": "/var/log/nexvoice.log",
"logLevel": "info"
},
"license": {
"key": "NEXV-PRIV-XXXX-XXXX-XXXX"
},
"globalApi": {
"publicIp": "auto",
"listed": true,
"description": "Mein Linux-Server",
"country": "DE"
},
"virtualServers": [
{
"id": 1,
"name": "NexVoice Server",
"maxSlots": 32,
"serverKey": "sicheres-passwort",
"welcomeMessage": "Willkommen!"
}
]
} Alle Konfigurationsoptionen sind identisch mit Windows — siehe Windows-Doku für Details.
Schlüssel in server.json eintragen
license.key ein.Server neu starten
[License] API OK — type=private 32 slotsErstelle eine Unit-Datei für automatischen Start und Neustart:
sudo nano /etc/systemd/system/nexvoice.service [Unit]
Description=NexVoice Voice Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=nexvoice
WorkingDirectory=/opt/nexvoice
ExecStart=/opt/nexvoice/NexVoiceServer
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target # Eigenen Systembenutzer anlegen (empfohlen)
sudo useradd -r -s /bin/false nexvoice
sudo chown -R nexvoice:nexvoice /opt/nexvoice
# Dienst aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable nexvoice
sudo systemctl start nexvoice
# Status prüfen
sudo systemctl status nexvoice
# Logs anzeigen
sudo journalctl -u nexvoice -f
Identisch zu Windows — mehrere Einträge im virtualServers-Array.
Jeder Eintrag benötigt eine eindeutige id.
Siehe Windows-Doku für Beispiele.
Das integrierte Server-Panel und Privilege-Key-System sind plattformunabhängig. Alle Informationen zur Nutzung findest du in der Windows-Dokumentation (Abschnitt 5–6) — die Funktionsweise ist identisch, unabhängig davon ob der Server unter Windows oder Linux läuft.
[License] API validation failed — free-tier limits apply
Ursache: Lizenzschlüssel ungültig oder IP-Bindung nicht erfüllt.
Lösung: Prüfe den Schlüssel im Dashboard. Setze globalApi.publicIp manuell wenn auto die falsche IP erkennt: curl ifconfig.me
bind() failed on port 9987
Ursache: Port belegt oder fehlende Rechte.
Lösung: Prüfe: ss -tulnp | grep 9987. Root-Ports (<1024) erfordern root oder CAP_NET_BIND_SERVICE. Port 9987 erfordert keine erhöhten Rechte.
error while loading shared libraries: libssl.so.3
Ursache: OpenSSL 3 nicht installiert.
Lösung: sudo apt install libssl3 ausführen. Bei älteren Distros (Ubuntu 20.04): libssl1.1 über Backports installieren oder Binary für libssl1.1 verwenden.
Permission denied (server.json oder log file)
Ursache: Falscher Dateibesitzer nach User-Wechsel.
Lösung: sudo chown -R nexvoice:nexvoice /opt/nexvoice ausführen.
Database initialization failed: unable to open database file
Ursache: Kein Schreibzugriff auf das data/-Verzeichnis.
Lösung: Prüfe Besitz: ls -la /opt/nexvoice/data. Falls nicht vorhanden: mkdir -p /opt/nexvoice/data && chown nexvoice:nexvoice /opt/nexvoice/data