Titolo della proposta: REST APIs Descrivi la proposta: Salve, vorrei proporre l'introduzione di qualche semplice API (tipo REST). A volte sarebbe veramente comodo sapere, mentre non si è online nel server, alcuni dati, come ad esempio la data e l'ora nel server. Questa idea nasce perchè spesso ho problemi a visualizzare la data e l'ora nel server, ovvero la barra in alto non è visibile, è buggata. Ho notato che non sono l'unico ad avere questo problema, infatti anche alcuni tra i miei amici non riescono a vedere la data e l'ora. Tralasciando questo problema, sarebbe veramente comodo sapere la data e l'ora anche quando si è offline, soprattutto per i dipendenti aziendali che così possono sapere che ore sono in game ed andare al lavoro nella corrispettiva azienda. La mia richiesta è molto semplice, in quanto non chiedo vengano introdotte molteplici API, basterebbe avere dati come data, ora e sapere se il server è online. Un possibile utillizzo di esse, idealmente sarebbe rivolto ai bot telegram, che ottengono questi dati tramite una semplicissima richiesta http. Avevo già vagamente parlato con @Pirro di ciò, però poi mi sono dimenticato di parlargli. Scendendo nei dettagli, propongo 3 cosette: - aggiungere nella urlpatterns list, la pagina developer/ (tecnocraft.net/developer/). Questa sezione verrà dedicata solo per i developer, quindi conterrà la documentazione relativa le API. - associare la richiesta http all'url tecnocraft.net/developer/api/{request} - la risposta verrà data sotto forma di json, ad esempio [ { "serverStatus": "online", "date": "1/1/1970", "time": "00:00" } ] Se avete bisogno di sapere altri dati, oltre la data e l'ora, scrivete le proposte nei commenti;)
Approvo, avevo proposto anche una cosa simile per il sito cnsl cnsl.tecnocraft.net/login=USERNAME?password=PASSWORD che ritornava la lista dipendenti della tua azienda, così da poter sviluppare un bot telegram sempre aggiornato per le aziende.
Il problema è che queste api che si interfacciano con minecraft rischiano di creare grossi problemi (ES: Attacco DDoS non filtrato che fa crashare anche il roleplay). In più implementare un sistema del genere dentro minecraft è abbastanza complicato e potrebbe causare problemi di performance. Disapprovo
Si vero, ottima idea @Mattyy_. Magari la risposta potrebbe essere una lista di dizionari, dove le 2 chiavi sono playerName e playerStatus, cosicché si possa ottenere il nome giocatore e se è online. In questo modo, noi potremmo successivamente andare a creare un bot telegram che automatizza le richieste al server, e si può creare uno script che va a contare le ore totali di lavoro settimanali di ogni dipendente. Ciò andrebbe ad aiutare il direttore nella valutazione dello stipendio da assegnare ai dipendenti. Dico ciò, perché ad esempio noi in posta, quando lavoriamo dobbiamo fare .on e .off sul bot.
. Per i problemi di performance non ho idea, non so che macchina avete, e quanta banda. Per quanto riguarda i possibili attacchi DDos, immaginavo qualcuno me lo dicesse ahah. Ho delle possibli soluzioni, ma forse è meglio discutere di ciò a voce su ts? Comunque le query al server verrebbero limitate, 1 ogni 10 minuti. Mentre le query al sito web non hanno un delay. Tuttavia per fare le query, si potrebbe fare che sia necessaria una chiave di autenticazione, ottenibile dalla pagina developer/ all'interno della documentazione, una sorta di registrazione. Questa chiave ha una durata di x mesi, e permette solo alle persone in possesso di essa di fare le query. La chiave verrà data solo a persone che giocano su tecnocraft, e che abbiano un motivo per utilizzarle. Un abuso comporterà la disattivazione di quella chiave. L'urlpattern in questo modo diventerà tipo tecnocraft.net/developer/{authentication_key}/api/{request}
l'orario in game può variare in base ai TPS del server (giuro non copiato da gein) quindi non sarebbe realizzabile e questa cosa è già stata proposta e rifiutata
Scusami, non vorrei sembrare arrogante, ma sai cosa sono delle API? Perchè dal come hai scritto il messaggio citato, non mi pare, o magari hai solo scritto male la frase in italiano (sorry). I dunno. Comunque, le API servirebbero proprio per risolvere questo problema, dei TPS! Visto che il tempo all'interno del server è una grandezza non lineare e non costante nel tempo, ne comporta il fatto che non sia prevedibile tramite script. Le API servirebbero proprio per risolvere questo problema.
Gein in quella proposta ha sbagliato, in quanto inserendo un bot telegram direttamente in un plugin (come quello dello /concorsi) sarebbe possibile ottenere l’orario preciso in qualsiasi istante, l’ho già avvertito di questa cosa
Si ma comunque hostare un webserver sul server minecraft (Unico sistema per ottenere l'orario, prenderlo direttamente dal server) è molto complicato e resource intensive, oltre che anche un sistema di auth crasherebbe con un attacco DDoS. L'unica soluzione è adottare un sistema del genere: Solo che non so se questa è una soluzione fattibile al momento.
@Rattlyy ok, ho capito dal progetto cosa pensi che si potrebbe fare. Ma perchè un webserver? Premetto che parlo da web developer, e che so non sono un game developer (non ho mai lavorato con Minecraft). Ho visto che ce un bot telegram per fare i ticket, che sono gli stessi ticket che si possono fare in game. Non si può fare un sistema analogo?