我有一个本地Minecraft服务器设置。我决定让自己成为自己的领域,因为ips真的很漂亮。问题是,因为我的路由器的IP地址每晚都在变化,所以我不能只对我的IP地址做一个A记录。相反,我需要一个动态的DNS提供程序,它允许我使用自己的域。我似乎找不到一个,所以我自己编写了php(我有一个带有静态IP地址的免费Web服务器)。这是.php文件的代码:
<?
$usernameTest = $_GET["username"];
$passTest = $_GET["pass"];
$ipaddr = $_GET["ipaddr"];
$username = "USERNAME";
$pass = "*****";
$port = ":25565";
$serverIPtxt = "serverIP.txt";
if(file_exists($serverIPtxt)) {
if($usernameTest == $username) {
if($passTest == $pass) {
$a = fopen("$serverIPtxt", "w");
fwrite($a, $ipaddr);
fclose($a);
echo $ipaddr;
}
} else {
$a = fopen("$serverIPtxt", "r+");
$dynIP = fread($a, filesize($serverIPtxt));
fclose($a);
$url="http://".$dynIP."".$port;
header("Location: $url", true);
die();
}
}
?>
我的路由器正在自动应用正确的IP地址,所以理论上我应该可以使用我的新域连接到minecraft服务器,但我不能。相反,Minecraft给了我这个错误:
[13:52:38] [Client thread/INFO]: Connecting to DOMAIN, 25565
[13:52:39] [Server Connector #5/ERROR]: Couldn't connect to server
java.net.ConnectException: Connection refused: no further information: DOMAIN/IPADDRESS:25565
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_25]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) ~[?:1.8.0_25]
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) ~[NioSocketChannel.class:4.0.23.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) ~[AbstractNioChannel$AbstractNioUnsafe.class:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) ~[NioEventLoop.class:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) ~[NioEventLoop.class:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) ~[NioEventLoop.class:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) ~[NioEventLoop.class:4.0.23.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) ~[SingleThreadEventExecutor$2.class:4.0.23.Final]
at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_25]
我做错了什么?或者Minecraft不支持php重定向?
答案 0 :(得分:1)
Minecraft不使用HTTP!它使用自己的基于TCP的协议。
我过去使用的最佳选择是运行动态ip更新程序客户端。
myname.ddns.net
)myname.ddns.net
(您的NoIP域名)myname.com
)。这会通过CNAME记录将客户引荐至myname.ddns.net
,而CNAME记录又会将您的动态IP(例如xxx.xxx.xxx.xxx
)称为A记录。在此之后,您将能够使用自定义域连接到服务器,动态更新程序将自动使动态IP保持最新状态。