You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java或Kotlin获取BungeeCord的服务器Ping值

你当前的代码属于BungeeCord/Velocity系列代理端插件的事件监听代码,获取Ping分两种常见场景,对应实现如下:

场景1:获取当前登录玩家到代理服务器的Ping

直接从登录事件的玩家对象中获取即可:

Kotlin 实现

class Events: Listener {
    @EventHandler
    fun joinEvent(event: PostLoginEvent) {
        val plugin = Main.getInstance()
        val server = plugin.proxy.getServerInfo("pserver")
        // 获取玩家Ping
        val playerPing = event.player.ping
        // 可直接打印或使用该值
        println("玩家${event.player.name}的Ping为:$playerPing")
    }
}

Java 实现

public class Events implements Listener {
    @EventHandler
    void postLogin (PostLoginEvent event){
        Main plugin = Main.getInstance();
        ServerInfo server = plugin.getProxy().getServerInfo("pserver");
        // 获取玩家Ping
        int playerPing = event.getPlayer().getPing();
        // 可直接打印或使用该值
        System.out.println("玩家" + event.getPlayer().getName() + "的Ping为:" + playerPing);
    }
}

场景2:获取代理服务器到下游子服务器pserver的Ping

需要调用ServerInfo的异步Ping接口获取,避免阻塞主线程:

Kotlin 实现

class Events: Listener {
    @EventHandler
    fun joinEvent(event: PostLoginEvent) {
        val plugin = Main.getInstance()
        val server = plugin.proxy.getServerInfo("pserver")
        // 异步Ping下游服务器
        server.ping({ result ->
            // Ping成功,拿到服务器响应的Ping值
            val serverPing = result.ping
            println("子服务器pserver的Ping为:$serverPing")
        }, { error ->
            // Ping失败处理
            println("Ping子服务器失败:${error.message}")
        })
    }
}

Java 实现

public class Events implements Listener {
    @EventHandler
    void postLogin (PostLoginEvent event){
        Main plugin = Main.getInstance();
        ServerInfo server = plugin.getProxy().getServerInfo("pserver");
        // 异步Ping下游服务器
        server.ping(result -> {
            // Ping成功,拿到服务器响应的Ping值
            long serverPing = result.getPing();
            System.out.println("子服务器pserver的Ping为:" + serverPing);
        }, error -> {
            // Ping失败处理
            System.out.println("Ping子服务器失败:" + error.getMessage());
        });
    }
}

提示:Ping下游服务器的API会因为你使用的代理端(BungeeCord/Velocity)版本不同存在细微差异,可根据实际版本调整回调参数即可。

内容的提问来源于stack exchange,提问作者Clafter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:54:01