-
Notifications
You must be signed in to change notification settings - Fork 1
Gerenciando Servidores
O gerenciando de servidores é simples, bastando você utilizando este código inicial:
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
}
}
Para listar todos os servidores, você precisará chamar a função "listServers", que retorna um CompletableFuture, do tipo lista de servidores.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<List<Server>> completableFuture = serverManager.listServers();
completableFuture.thenAccept(serverList -> serverList.forEach(server -> System.out.println("The Server: " + server.getName() + " is present"))).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para pegar as informações de um server, você precisará chamar a função "getServer", que retorna um CompletableFuture, do tipo Server.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<Server> completableFuture = serverManager.getServer(1L);
completableFuture.thenAccept(server -> System.out.println(server.getName())).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para atualizar as informações de um servidor, você precisará chamar a função "updateServer", passando um object server atualizado, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<Server> completableFuture = serverManager.getServer(1L);
completableFuture.thenAccept(server -> {
server.setName("New Server name");
CompletableFuture<JSONObject> completableFutureResponse = serverManager.updateServer(server);
completableFutureResponse.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para criar um servidor, você precisará chamar a função "createServer", passando o builder de servidor, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
Ao criar um builder, lembre-se de setar o valor em todos os parametros, pois, caso deixe algum nulo, poderá resultar em execessões.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
JSONObject environment = new JSONObject();
environment.put("BUNGEE_VERSION", "lasted");
environment.put("SERVER_JARFILE", "server.jar");
ServerAllocationBuilder serverAllocation = new ServerAllocationBuilder().appendDefault(17L);
ServerFutureLimitBuilder serverFutureLimit = new ServerFutureLimitBuilder().appendBackups(1)
.appendDatabase(5);
ServerLimitBuilder serverLimit = new ServerLimitBuilder().appendCPU(100)
.appendMemory(128)
.appendDisk(512)
.appendIO(500)
.appendSwap(0);
ServerBuilder builder = new ServerBuilder().appendName("Building")
.appendServerAllocationLimit(serverAllocation)
.appendStartup("java -Xms128M -Xmx128M -jar server.jar")
.appendServerFutureLimit(serverFutureLimit)
.appendEnvironment(environment)
.appendEgg(1)
.appendUser(1)
.appendDockerImage("quay.io/pterodactyl/core:java")
.appendServerLimit(serverLimit);
CompletableFuture<JSONObject> completableFuture = serverManager.createServer(builder);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para suspender um servidor, você precisará chamar a função "suspendServer", passando o ID do servidor, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.suspendServer(1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para remover a suspenção do servidor, você precisará chamar a função "unSuspendServer", passando o ID do servidor, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.unSuspendServer(1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para reinstalar um servidor, você precisará chamar a função "reinstallServer", passando o ID do servidor, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.reinstallServer(1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para deletar um servidor, você precisará chamar a função "deleteServer", passando o ID do servidor, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.deleteServer(1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para listar todas as databases, você precisará chamar a função "listDatabases", que retorna um CompletableFuture, do tipo lista de database.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<List<Database>> completableFuture = serverManager.listDatabases(1L);
completableFuture.thenAccept(databaseList -> databaseList.forEach(database -> System.out.println("The Database: " + database.getDatabase() + " is present"))).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para pegar as informações de um database, você precisará chamar a função "getDatabase", que retorna um CompletableFuture, do tipo Database.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<Database> completableFuture = serverManager.getDatabase(1L,1L);
completableFuture.thenAccept(database -> System.out.println(database.getDatabase())).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para criar uma database, você precisará chamar a função "createDatabase", passando o builder da database, juntamente ao ID do servidor que, deverá ser criado, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
Ao criar um builder, lembre-se de setar o valor em todos os parametros, pois, caso deixe algum nulo, poderá resultar em execessões.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
DatabaseBuilder builder = new DatabaseBuilder().appendRemote("%")
.appendHost(1)
.appendDatabase("matches");
CompletableFuture<JSONObject> completableFuture = serverManager.createDatabase(1L, builder);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para resetar a senha da database, você precisará chamar a função "resetPassword", passando o ID do servidor e o ID da database, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.resetPassword(1L, 1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}
Para deletar uma database, você precisará chamar a função "deleteDatabase", passando o ID do servidor e o ID da database, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
ServerManager serverManager = PteroAPI.getManager(ServerManager.class);
CompletableFuture<JSONObject> completableFuture = serverManager.deleteDatabase(1L, 1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}