Como usar a Pterodactyl API (JS)
Com o nosso painel Apollo podes interagir com a API que te dá a possibilidade de controlares o teu servidor usando o teu bot de Discord ou a tua aplicação JavaScript. Vamos-te mostrar o processo de como fazer isso através do método HTTP.
Aprende como usar a API Pterodactyl em JS!
Primeiro precisamos criar uma “API key”. Vamos precisar dela pois é esta que permite a comunicação entre o teu servidor e o painel. Para fazermos isso clica em “API Credentials” que fica no menu lateral da página principal.
Escolhe uma descrição customizada para identificares a tua API e os IPs que tem permissão de usar a API. Isto é útil te quiseres assegurar que só pessoas selecionadas por ti é que podem ter acesso à tua API key. Podes deixar o campo vazio se quiseres que qualquer pessoa possa usar a tua key.
A key é mostrada apenas uma vez. Guarda um backup da tua key!
Agora estamos prontos para começar com o nosso código! Vais precisar de uma biblioteca HTTP, neste caso vamos usar a axios. Vais conseguir ver todos os endpoints da pterodactyl aqui. Não te esqueças que a página de documentação não é oficial.
Neste exemplo vamos mostrar como usar os endpoints mais uteis.
Como verificar a integridade e informação do servidor
Para verificares a integridade do teu servidor, vais precisar de fazer uma “request” (pedido) para /api/client/servers/<server id>. Obviamente, tendo em conta que tens de substituir onde que está escrito <server id> pelo id do teu servidor.
Aqui está um exemplo de como fazer esta request:
Resultado:
Como receber informação em tempo real sobre o teu servidor (ex.: inputs da consola, estado do servidor)
Para isto vais precisar de usar outra biblioteca chamada ws. A Pterodactyl usa sockets para enviar e receber informação em tempo real. Podes usar este código para isso:
Resultado:
Vê mais informações sobre web socket requests aqui.
Se precisares de mais ajuda cria um ticket aqui.
Criado por: Greg K
Traduzido por: David S.
Aprende como usar a API Pterodactyl em JS!
Como usar a Pterodactyl API (JS)
Primeiro precisamos criar uma “API key”. Vamos precisar dela pois é esta que permite a comunicação entre o teu servidor e o painel. Para fazermos isso clica em “API Credentials” que fica no menu lateral da página principal.
Escolhe uma descrição customizada para identificares a tua API e os IPs que tem permissão de usar a API. Isto é útil te quiseres assegurar que só pessoas selecionadas por ti é que podem ter acesso à tua API key. Podes deixar o campo vazio se quiseres que qualquer pessoa possa usar a tua key.
A key é mostrada apenas uma vez. Guarda um backup da tua key!
Agora estamos prontos para começar com o nosso código! Vais precisar de uma biblioteca HTTP, neste caso vamos usar a axios. Vais conseguir ver todos os endpoints da pterodactyl aqui. Não te esqueças que a página de documentação não é oficial.
Neste exemplo vamos mostrar como usar os endpoints mais uteis.
Como verificar a integridade e informação do servidor
Para verificares a integridade do teu servidor, vais precisar de fazer uma “request” (pedido) para /api/client/servers/<server id>. Obviamente, tendo em conta que tens de substituir onde que está escrito <server id> pelo id do teu servidor.
Aqui está um exemplo de como fazer esta request:
const axios = require('axios');
const apiKey = 'My API Key'
axios.get('https://control.sparkedhost.us/api/client/servers/<server Id>, {
headers: {
'Accept': 'application/json',
'content-type': 'application/json',
'Authorization': 'Bearer ' + apiKey
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
Resultado:
Como receber informação em tempo real sobre o teu servidor (ex.: inputs da consola, estado do servidor)
Para isto vais precisar de usar outra biblioteca chamada ws. A Pterodactyl usa sockets para enviar e receber informação em tempo real. Podes usar este código para isso:
const axios = require('axios');
const WebSocket = require('ws')
const apiKey = 'zvVLw6PAenoTczUyJTa2XPZYXiQHZ8DYkZwnmuKz7kcFZIF0';
axios.get('https://control.sparkedhost.us/api/client/servers/f7a7faee/websocket', {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + apiKey,
}
})
.then(function (response) {
const token = response.data.data.token;
const ws = new WebSocket(response.data.data.socket);
ws.on('open', function open() {
ws.send(JSON.stringify({"event":"auth","args":[token]}));
});
ws.on('message', function message(data) {
console.log(data);
});
ws.on('error', function error(err) {
console.log(err);
});
})
.catch(function (error) {
console.log(error);
});
Resultado:
Vê mais informações sobre web socket requests aqui.
Se precisares de mais ajuda cria um ticket aqui.
Criado por: Greg K
Traduzido por: David S.
Actualizado em: 06/03/2023
Obrigado!