2014-04-07 15 views
1

我正在爲我的員工製作一個插件,可以幫助他們提供一些基本信息。 我想添加一個/服務器,將顯示服務器IP,而不是他們連接到的DNS。player.sendMessage中的Bukkit.getIp() - 可能的解決方案?

我想是這樣的

var InfoIP = Bukkit.getIp(); 
player.sendMessage("Server Ip: " + InfoIP); 

顯然,它確實與Bukkit.getPort工作();但它不適用於ip。 有沒有其他方法可以解決這個問題?

我不是在尋找這樣的事

var myip = "0.0.0.0"; 
player.sendMessage("Server Ip:" + myip); 

我想由getIp代替手工填寫的MYIP加油吧。

希望有人有一個解決方案:) TNX。

+0

所以你想讓它顯示'***。***。***。***:port'? * EX:182.118.145.123:25562* – Jojodmo

+0

您可以使用InetAddress.getLocalHost()。getHostName(),但它返回的名稱可能不是您要查找的內容。這裏更多:http://stackoverflow.com/questions/7348711/recommended-way-to-get-hostname-in-java –

回答

3

爲了使用getIP方法,您必須在您的服務器屬性中定義它。

應該有一個叫做服務器IP的行。 一旦你已經在屬性中定義你的IP它將返回IP。當您使用getIP方法時,請使用 。

+0

它與代理工作,所以server.properties不加載。 – Kheera

+0

固定它後,與lilypad類似的作品 – Kheera

1

或者你可以使用:

player.sendMessage(getServer().getAddress() + ":" + getServer().getPort()); 

希望這有助於

~~ AceStudios

0

或者這樣:

if (!getServer().getPort() == "25565") { 
player.sendMessage(getServer().getAddress() + ":" + getServer().getPort()); 
} 
else { 
player.sendMessage(getServer.getAddress()); 
0

而不是使用Bukkit.getIP();的請嘗試使用Bukkit.getServer().getAddress();

相關問題