-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
- Discord-Server für Entwickler: discord.gg/cenUwBypuT – Hier kannst du dich mit anderen Entwicklern austauschen
- Knuddels-Hilfe: hilfe.knuddels.de – Für Probleme mit Zugangsdaten
- API-Dokumentation: developer.knuddels.de/docs – Vollständige Klassen- und Methodenreferenz
Der Server nutzt die Rhino Engine 1.9.1, die im ES6-Sprachmodus läuft und viele gängige ES6-Funktionen unterstützt – allerdings nicht den vollständigen Standard. Informationen zur Kompatibilität mit aktuellen JavaScript-Funktionen findest du hier: https://mozilla.github.io/rhino/compat/engines.html.
Im Frontend (www/-Ordner) kannst du modernes JavaScript verwenden, da es im Browser des Clients läuft.
Du brauchst eine gültige Apple-Entwicklerlizenz. Trage die appleDeveloperId in der app.config ein:
appleDeveloperId = DEINE_APPLE_ID- Wenn du auf den Live-Server hochlädst, kann es einige Minuten dauern, bis die Dateien synchronisiert sind
- Warte etwas und klicke dann erneut auf "update/restart" in
/apps - Nutze
Client.includeJS()undClient.includeCSS()statt direkter HTML-Einbindung, um Cache-Probleme zu vermeiden
Mögliche Ursachen:
- Du hast
window.locationoder einen Direktlink zu einer anderen HTML-Datei verwendet – dadurch geht der Client-Bezug verloren -
Lösung: Nutze
replaceWithAppContent()für Seitenwechsel oder ein Single-Page-Konzept
Nein. Nutze stattdessen den Logger:
var logger = KnuddelsServer.getDefaultLogger();
logger.info('Meine Debug-Nachricht');Trage in der app.config ein, wer die App installieren darf:
# Bestimmter Nutzer
mayBeInstalledBy.3 = AndererNick.knuddelsDE
# Jeder auf dem Server
mayBeInstalledBy.3 = *.knuddelsDE- Dev-Server (knuddelsDEV): Zum Entwickeln und Testen. Keine Auswirkungen auf echte Nutzer.
- Live-Server (knuddelsDE): Die produktive Umgebung. Hier sollten nur stabile Apps installiert werden.
Mehr dazu unter Dev-Server.
Registriere sie als Globale App. Siehe Globale Apps.
Siehe die ausführliche Dokumentation unter Quests.
Die maximale Größe pro Schlüssel beträgt 102.400 Zeichen. Die Gesamtgröße der Datenbank ist ebenfalls limitiert. Du kannst sie prüfen mit:
var persistence = KnuddelsServer.getPersistence();
var groesse = persistence.getDatabaseFileSize();
var limit = persistence.getDatabaseFileSizeLimit();Ja, über ExternalServerAccess. Allerdings nur mit freigegebenen Domains. Siehe Externe Server-Kommunikation.
Deine JavaScript-Dateien müssen als UTF-8 ohne BOM gespeichert werden. Stelle das in deinem Editor ein (z.B. VS Code: "Files: Encoding" → "utf8"). Dateien mit BOM oder in anderen Encodings (z.B. ANSI) führen zu kaputten Sonderzeichen.
Wenn du JavaScript-Dateien im Frontend mit einem normalen <script>-Tag einbindest, werden sie vom Browser gecacht. Das heißt, nach einem Update auf dem Server sehen Nutzer möglicherweise noch die alte Version. Client.includeJS() und Client.includeCSS() umgehen dieses Caching-Problem, indem sie automatisch einen Cache-Buster anhängen.
<!-- Statt: -->
<script src="js/app.js"></script>
<!-- Verwende im <head>: -->
<script>
Client.includeJS('js/app.js');
Client.includeCSS('css/style.css');
</script>Implementiere den onUserDeleted-Hook, um Nutzerdaten DSGVO-konform zu löschen. Ohne diesen Hook werden Persistence-Daten erst beim nächsten App-Start aufgeräumt. Siehe App-Lifecycle → Nutzerlöschung.
Channel-Owner können per Chat-Befehl App-Manager verwalten:
/apps addManager knuddelsDE.ENTWICKLER_ID.AppName ManagerNick
/apps removeManager knuddelsDE.ENTWICKLER_ID.AppName ManagerNick
- Erste Schritte – Voraussetzungen, Einrichtung, deine erste App
-
Projektstruktur – Dateien, Ordner und
app.config - Dev-Server – Entwicklungsumgebung und Testen
-
App-Lifecycle und Hooks –
onAppStart,onUserJoinedund Co. -
Server-API Grundlagen –
KnuddelsServer,Channel,Logger - Client-Server-Kommunikation – Events zwischen Frontend und Backend
-
Benutzer und Nachrichten –
User,BotUser, Nachrichten senden - HTML-UI und AppContent – Popups, Overlays, Globale Apps-UI
-
Datenspeicherung –
AppPersistence,UserPersistence -
Knuddel und Zahlungen – Transfers, Käufe,
KnuddelAccount - Toplisten – Ranglisten und Highscores
- Globale Apps – Apps im "Apps & Spiele"-Menü
- Quests – Aufgaben für Nutzer
- Externe Server-Kommunikation – HTTP-Requests an externe APIs
- Tutorials – Übersicht aller Tutorials
- Tic-Tac-Toe – Multiplayer-Spiel mit Bestenliste
- Best Practices – Tipps, Limits und häufige Fehler
- FAQ – Häufig gestellte Fragen
- KCode-Formatierung – Nachrichten-Formatierung mit KCode