• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Teamspeak 3 API Wartezeit für die Verbindung ist abgelaufen

gmb32

Kuhfänger
Registriert
17 Juni 2014
Beiträge
84
Diamanten
0
Hallo,
ich habe die Teamspeak3 API in das Plugin eingebunden und damit gearbeitet. Das Verbinden und Trennen der Query funktioniert soweit ich habe auch einen Keepalive Runnable gemacht damit die Verbindung eigentlich nicht abbricht aber dies tut sie in unregelmäßigen Abständen dennoch.

Teamspeak Verbinden:
Code:
public static void connectTeamspeak(){
       
        TS3Config config= new TS3Config();
        config.setHost("#");
        config.setFloodRate(FloodRate.UNLIMITED);
        config.setCommandTimeout(9999999);
        config.setReconnectStrategy(ReconnectStrategy.exponentialBackoff());
       
       
        query = new TS3Query(config);
        query.connect();
        api = query.getApi();
        api.login("#", "#");
        api.selectVirtualServerById(1);
//        try {
//            api.setNickname("Mc-Battlefield.de");
//          
//        } catch (Exception e) {
//            Main.print("§2Teamspeak Nickname konnte nicht gesetzt werden");
//        }
        Main.print("§bTeamspeak Bot erfolgreich verbunden!");
        TS3Events.load();
    }
   
    public static boolean isOnline(String name) {
        Client cl = api.getClientByNameExact(name, true);
        if(cl != null) {
            return true;
        }else {
            return false;
        }
    }
    public static boolean isOnlineID(UUID UUID) {
        Client cl = api.getClientByUId(MySQLTeamspeak.getID(UUID));
        if(cl != null) {
            return true;
        }else {
            return false;
        }
    }

Keepalive:
Code:
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
               
                int countdown = 300;      
               
                @Override
                public void run() {
                    countdown--;
                    if(countdown == 0) {
                        print(Var.prefix+" Keepalive: "+Teamspeak.api.whoAmI());
                        countdown = 300;
                    }
                   
                }
            }, 0L, 20L);

Fehler:
Code:
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]: 2020-03-30 15:59:22.196 [ERROR] Connection error occurred.
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]: java.net.SocketException: Die Wartezeit für die Verbindung ist abgelaufen (Read failed)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.net.SocketInputStream.socketRead0(Native Method)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.net.SocketInputStream.read(SocketInputStream.java:171)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.net.SocketInputStream.read(SocketInputStream.java:141)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.io.InputStreamReader.read(InputStreamReader.java:184)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.io.BufferedReader.fill(BufferedReader.java:161)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.io.BufferedReader.readLine(BufferedReader.java:324)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at java.io.BufferedReader.readLine(BufferedReader.java:389)
[15:59:22] [[TeamSpeak-3-Java-API] SocketReader/INFO]:     at com.github.theholywaffle.teamspeak3.SocketReader.run(SocketReader.java:83)
 
Zuletzt bearbeitet:
Oben