Ir para conteúdo
  • 0

[Duvida] [Java] Como posso fazer para comunicar dados entre servidores ???


Solitario

Pergunta

Bom gostaria tipo fazer um sistema para meu lobby para mostrar detalhes sobre a partida de hg ... só que preciso saber como comunicar dados (Ex: tempo antes de iniciar, estado da partida e jogadores) Não sei como posso fazer isso (Também quero usar em alguns sistemas meus de plugins para evitar tanto sobrecarregamento)

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

BungeeChannelApi api = BungeeChannelApi.of(this); // this = Plugin instance.

// Fica no plugin de HG
ByteArrayDataOutput output = ByteStreams.newDataOutput();
// escreve os dados no output, como por exemplo, o estado atual do servidor, quantidade de jogadores e etc

api.forward("nome do servidor do lobby ou ALL pra todos servidores", "nome_do_canal", output);


// Fica no plugin pra lobby
api.registerForwardListener("nome_do_Canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  // le as informaçoes enviadas
});

Fiz aqui mesmo, pode ter erros.

 

outro exemplo


// Fica no plugin de HG
ByteArrayDataOutput output = ByteStreams.newDataOutput();

// quando uma sala de HG ficar disponivel
output.writeUTF("SALA_DISPONIVEL"); // Coloquei uma string só pra ficar didático, recomendo usar um int pra identificar o estado.

// quando jogo iniciar
output.writeUTF("JOGO_INICIOU");

// Envia o output
api.forward("nome do servidor ou ALL pra todos servidores", "nome_do_canal", output);



// Fica no plugin pra lobby
api.registerForwardListener("nome_do_canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  
  String acao = in.readUTF(); // ação, como se fosse o ID de um Packet
  
  if (acao.equals("SALA_DISPONIVEL")) {
    // atualiza uma placa e etc
  } else if (acao.equals("JOGO_INICIOU")) {
    // atualiza a placa dnv
  }
});
Editado por leonardosc
Link para o comentário
Compartilhar em outros sites

BungeeChannelApi api = BungeeChannelApi.of(this); // this = Plugin instance.

// Fica no plugin de HG
ByteArrayDataOutput output = ByteStreams.newDataOutput();
// escreve os dados no output, como por exemplo, o estado atual do servidor, quantidade de jogadores e etc

api.forward("nome do servidor do lobby ou ALL pra todos servidores", "nome_do_canal", output);


// Fica no plugin pra lobby
api.registerForwardListener("nome_do_Canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  // le as informaçoes enviadas
});

Fiz aqui mesmo, pode ter erros.

 

outro exemplo

// Fica no plugin de HG
ByteArrayDataOutput output = ByteStreams.newDataOutput();

// quando uma sala de HG ficar disponivel
output.writeUTF("SALA_DISPONIVEL"); // Coloquei uma string só pra ficar didático, recomendo usar um int pra identificar o estado.

// quando jogo iniciar
output.writeUTF("JOGO_INICIOU");

// Envia o output
api.forward("nome do servidor ou ALL pra todos servidores", "nome_do_canal", output);



// Fica no plugin pra lobby
api.registerForwardListener("nome_do_canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  
  String acao = in.readUTF(); // ação, como se fosse o ID de um Packet
  
  if (acao.equals("SALA_DISPONIVEL")) {
    // atualiza uma placa e etc
  } else if (acao.equals("JOGO_INICIOU")) {
    // atualiza a placa dnv
  }
});

Nome do canal iria ficar qualquer coisa ??

 

@Edit

Tentei colocar só que no forward deu erro

rKtl78D.png

 

@Edit2


// Fica no plugin pra lobby
api.registerForwardListener("nome_do_canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  
  String acao = in.readUTF(); // ação, como se fosse o ID de um Packet
  
  if (acao.equals("SALA_DISPONIVEL")) {
    // atualiza uma placa e etc
  } else if (acao.equals("JOGO_INICIOU")) {
    // atualiza a placa dnv
  }
});

tem que ficar atualizando ou se auto atualiza ?

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

Nome do canal iria ficar qualquer coisa ??

 

@Edit

Tentei colocar só que no forward deu erro

rKtl78D.png

 

@Edit2

// Fica no plugin pra lobby
api.registerForwardListener("nome_do_canal", (channelName, player, data) -> {
  ByteArrayDataInput in = ByteStreams.newDataInput(message);
  
  String acao = in.readUTF(); // ação, como se fosse o ID de um Packet
  
  if (acao.equals("SALA_DISPONIVEL")) {
    // atualiza uma placa e etc
  } else if (acao.equals("JOGO_INICIOU")) {
    // atualiza a placa dnv
  }
});

tem que ficar atualizando ou se auto atualiza ?

 

só colocar "output.toByteArray()"

 

Ele vai "atualizar" toda vez que você enviar uma informação.

 

Você pode enviar o numero de jogadores quando um jogador entrar, ai vc atualiza a placa.

 

Por exemplo, ali no listener:

if (acao.equals("ATUALIZAR_JOGADORES")) {
  int jogadores = in.readInt();
  // atualiza placa
}

Ai no servidor de HG, quando um jogador entrar (ou cria uma task pra atualizar de tempo em tempo)

ByteArrayDataOutput output = ByteStreams.newDataOutput();

output.writeUTF("ATUALIZAR_JOGADORES"); 
output.writeInt(Bukkit.getOnlinePlayers().size());

api.forward bla bla bla
Editado por leonardosc
Link para o comentário
Compartilhar em outros sites

Em vez de ficar enviando Packets como ta no exemplo do Leo ai que tambem funciona

Voce pode ta usando Redis

Redis é uma Banco de Dados NoSQL que salva as informações na Memoria Ram

Rapido, Seguro, Leve

Só que se vc nao tem um dedicado fica meio complicado pq normalmente as hosts nao disponibilizam ele.

Link para o comentário
Compartilhar em outros sites

Em vez de ficar enviando Packets como ta no exemplo do Leo ai que tambem funciona

Voce pode ta usando Redis

Redis é uma Banco de Dados NoSQL que salva as informações na Memoria Ram

Rapido, Seguro, Leve

Só que se vc nao tem um dedicado fica meio complicado pq normalmente as hosts nao disponibilizam ele.

 

Redis é mais usado pra cache.

 

Não faz sentido usar Redis e todo seu poder pra uma coisa simples dessa.

Link para o comentário
Compartilhar em outros sites

 

só colocar "output.toByteArray()"

 

Ele vai "atualizar" toda vez que você enviar uma informação.

 

Você pode enviar o numero de jogadores quando um jogador entrar, ai vc atualiza a placa.

 

Por exemplo, ali no listener:

if (acao.equals("ATUALIZAR_JOGADORES")) {
  int jogadores = in.readInt();
  // atualiza placa
}

Ai no servidor de HG, quando um jogador entrar (ou cria uma task pra atualizar de tempo em tempo)

ByteArrayDataOutput output = ByteStreams.newDataOutput();

output.writeUTF("ATUALIZAR_JOGADORES"); 
output.writeInt(Bukkit.getOnlinePlayers().size());

api.forward bla bla bla

Não entendi por que deu isto:

07.04 17:06:29 [Server] ERROR Error occurred while enabling Hub v1.0 (Is it up to date?) 
07.04 17:06:29 [Server] INFO java.lang.ExceptionInInitializerError 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.main.onEnable(main.java:47) ~[?:?] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:354) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:328) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:284) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:227) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:494) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO Caused by: java.lang.IllegalArgumentException: Plugin cannot be null 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.messaging.StandardMessenger.registerOutgoingPluginChannel(StandardMessenger.java:176) ~[PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.<init>(BungeeChannelApi.java:84) ~[?:?] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.lambda$0(BungeeChannelApi.java:64) ~[?:?] 
07.04 17:06:29 [Server] INFO at java.util.Map.compute(Map.java:1093) ~[?:1.8.0_91] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.of(BungeeChannelApi.java:63) ~[?:?] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.score.scoreboard.<clinit>(scoreboard.java:47) ~[?:?] 07.04 
17:06:29 [Server] INFO ... 12 more

(Coloquei para que no onEnable ele usasse o public void que no caso seria o codigo ... Se quiser ver como ficou no public void ta ai :

https://hastebin.com/icepizeguf.coffeescript

(Não sei se pode ser pelo motivo que não coloquei ainda o plugin no servidor ...)

 

 

Em vez de ficar enviando Packets como ta no exemplo do Leo ai que tambem funciona

Voce pode ta usando Redis

Redis é uma Banco de Dados NoSQL que salva as informações na Memoria Ram

Rapido, Seguro, Leve

Só que se vc nao tem um dedicado fica meio complicado pq normalmente as hosts nao disponibilizam ele.

 

Não tenho $$ pra dedicado .-.

Link para o comentário
Compartilhar em outros sites

Não entendi por que deu isto:

07.04 17:06:29 [Server] ERROR Error occurred while enabling Hub v1.0 (Is it up to date?) 
07.04 17:06:29 [Server] INFO java.lang.ExceptionInInitializerError 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.main.onEnable(main.java:47) ~[?:?] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:354) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:328) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:284) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:227) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:494) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO Caused by: java.lang.IllegalArgumentException: Plugin cannot be null 
07.04 17:06:29 [Server] INFO at org.bukkit.plugin.messaging.StandardMessenger.registerOutgoingPluginChannel(StandardMessenger.java:176) ~[PaperSpigot17.jar:git-PaperSpigot-1f7d532] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.<init>(BungeeChannelApi.java:84) ~[?:?] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.lambda$0(BungeeChannelApi.java:64) ~[?:?] 
07.04 17:06:29 [Server] INFO at java.util.Map.compute(Map.java:1093) ~[?:1.8.0_91] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.api.BungeeChannelApi.of(BungeeChannelApi.java:63) ~[?:?] 
07.04 17:06:29 [Server] INFO at me.arthurgui.hub.score.scoreboard.<clinit>(scoreboard.java:47) ~[?:?] 07.04 
17:06:29 [Server] INFO ... 12 more

(Coloquei para que no onEnable ele usasse o public void que no caso seria o codigo ... Se quiser ver como ficou no public void ta ai :

https://hastebin.com/icepizeguf.coffeescript

(Não sei se pode ser pelo motivo que não coloquei ainda o plugin no servidor ...)

 

 

Não tenho $$ pra dedicado .-.

 

Cade a parte que tu instancia o BungeeChannelApi?

Link para o comentário
Compartilhar em outros sites

Cade a parte que tu instancia o BungeeChannelApi?

    public static BungeeChannelApi api = BungeeChannelApi.of(main.instance);

 

@edit

e.e ops ... esqueci de colocar ele depois do instance = this; na main

... tou testando no hg ...

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

    public static BungeeChannelApi api = BungeeChannelApi.of(main.instance);

 

N precisa deixar estático, até pq qnd isso for carregado o main.instance vai ser nulo (é isso que causa o erro);

 

Quando você for usar é só colocar BungeeChannelApi.of(main.instance) em uma variável local mesmo.

Link para o comentário
Compartilhar em outros sites

N precisa deixar estático, até pq qnd isso for carregado o main.instance vai ser nulo (é isso que causa o erro);

 

Quando você for usar é só colocar BungeeChannelApi.of(main.instance) em uma variável local mesmo.

Plugin do lobby foi corrigido porém o de HG já ficou com erro:

07.04 18:22:05 [Server] INFO java.lang.IllegalArgumentException: Bungee Messaging Api requires at least one player online. 
07.04 18:22:05 [Server] INFO at me.opendev.shg.api.BungeeChannelApi.getFirstPlayer(BungeeChannelApi.java:494) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.api.BungeeChannelApi.forward(BungeeChannelApi.java:354) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.utils.Countdown.startingTimer(Countdown.java:56) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.manager.Manager.startingTime(Manager.java:67) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.HG.onEnable(HG.java:196) ~[?:?] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:477) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:395) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:354) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:328) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:284) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:227) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:493) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot1649.jar:git-PaperSpigot-43]

Coloquei para ficar mandando em um countdown dele ... não sei se isso de muita merda porém deu isso .-. (Obs: Os status esta fora do countdown)

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

Plugin do lobby foi corrigido porém o de HG já ficou com erro:

07.04 18:22:05 [Server] INFO java.lang.IllegalArgumentException: Bungee Messaging Api requires at least one player online. 
07.04 18:22:05 [Server] INFO at me.opendev.shg.api.BungeeChannelApi.getFirstPlayer(BungeeChannelApi.java:494) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.api.BungeeChannelApi.forward(BungeeChannelApi.java:354) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.utils.Countdown.startingTimer(Countdown.java:56) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.manager.Manager.startingTime(Manager.java:67) ~[?:?] 
07.04 18:22:05 [Server] INFO at me.opendev.shg.HG.onEnable(HG.java:196) ~[?:?] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:477) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:395) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:354) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:328) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:284) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:227) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:493) [spigot1649.jar:git-PaperSpigot-43] 
07.04 18:22:05 [Server] INFO at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot1649.jar:git-PaperSpigot-43]

Coloquei para ficar mandando em um countdown dele ... não sei se isso de muita merda porém deu isso .-.

 

Pra usar o "Messaging Channel" do bungee, precisa ter pelo menos 1 jogador online, você precisa verificar antes de enviar....

Link para o comentário
Compartilhar em outros sites

Pra usar o "Messaging Channel" do bungee, precisa ter pelo menos 1 jogador online, você precisa verificar antes de enviar....

.-. lascou .-. ... mais vou tentar arrumar um jeito aqui  (Meu problema é pq tipo ... antes da partida começar ele ia mostrar que a partida ta em iniciando)

Link para o comentário
Compartilhar em outros sites

.-. lascou .-. ... mais vou tentar arrumar um jeito aqui  (Meu problema é pq tipo ... antes da partida começar ele ia mostrar que a partida ta em iniciando)

Voce pode usar um jeito bem bahiano, usando Socket

Pega uma lib de Server Stats que retorne a Motd

Dentro do PL de HG vc bota para ele setar uma motd que no plugin do lobby vc pode manipular e utilizar as informaçoes da motd

"300:INICIANDO:HG 1"

"TEMPO PARA INICIAR:ESTADO:NOME DA SALA"

vc deixa sua motd assim e da um split no plugin do lobby e usa as informações que vc botou na motd

Link para o comentário
Compartilhar em outros sites

Voce pode usar um jeito bem bahiano, usando Socket

Pega uma lib de Server Stats que retorne a Motd

Dentro do PL de HG vc bota para ele setar uma motd que no plugin do lobby vc pode manipular e utilizar as informaçoes da motd

"300:INICIANDO:HG 1"

"TEMPO PARA INICIAR:ESTADO:NOME DA SALA"

vc deixa sua motd assim e da um split no plugin do lobby e usa as informações que vc botou na motd

... se eu não conseguir esse metodo irei tentar ...

 

 

Pra usar o "Messaging Channel" do bungee, precisa ter pelo menos 1 jogador online, você precisa verificar antes de enviar....

fiz isso ... porém... Acho que tem que ficar rodando o HG() no lobby para atualizar não ?? (Parece não tar recebendo resposta)

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...