Bonjour,
je fais un système de messaging entre spigot et bungee, mais je rencontre un petit problème.
J'ai un serveur "Lobby", qui envoie un message à "Bungeecord". (La c'est ok)
J'ai bungeecord qui envoie un message à "Runner" (la ça marche pas)
J'ai remarqué qu'il fallait qu'un joueur soit obligatoirement connecté sur "Runner" pour que le messaging passe. Est-il possible de bypass ce système ? (Par exemple si un joueur est seul)
Merci
Des extraits du code qui doit se faire entre Bungee et "Runner"
je fais un système de messaging entre spigot et bungee, mais je rencontre un petit problème.
J'ai un serveur "Lobby", qui envoie un message à "Bungeecord". (La c'est ok)
J'ai bungeecord qui envoie un message à "Runner" (la ça marche pas)
J'ai remarqué qu'il fallait qu'un joueur soit obligatoirement connecté sur "Runner" pour que le messaging passe. Est-il possible de bypass ce système ? (Par exemple si un joueur est seul)
Merci
Des extraits du code qui doit se faire entre Bungee et "Runner"
Java:
//dans le messaging receive bungee
if (queueManager.addPlayerToWaiting(player)) {
player.sendMessage(new TextComponent(Messages.getMessage("add_player_to_queue", "%number%", String.valueOf(queueManager.getPositionInQueue(player)))));
BungeeSender.sendMessaging("RequestMapAvailableRunner");
break;
}
public class BungeeSender {
public static void sendMessaging(String channel, String... args) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF(channel);
if (args.length > 0)
Arrays.stream(args).forEach(out::writeUTF);
for(ServerInfo si : ProxyServer.getInstance().getServers().values())
si.sendData("BungeeCord", out.toByteArray());
}
}
Java:
public class Messaging implements PluginMessageListener {
//Marche uniquement si un joueur est connecté sur le serveur
@Override
public void onPluginMessageReceived(String tag, Player player, byte[] bytes) {
System.out.println("je passe ici");
if(!tag.equals("BungeeCord"))
return;
ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
String channel = in.readUTF();
if(channel.equalsIgnoreCase("RequestMapAvailableRunner"))
{
System.out.println("Je receive la request map");
}
}
}