Closed innocentvoice closed 1 year ago
This work fine for me sur
无法复现,我能想到的可能原因是 nginx 反代导致服务端无法自动获取对外地址,设置一下 LINKPLAY_DISPLAY_HOST
试试
无法复现,我能想到的可能原因是 nginx 反代导致服务端无法自动获取对外地址,设置一下
LINKPLAY_DISPLAY_HOST
试试
我需要在前面加上 "https://” 吗,还是只需要 "xxx.xxx" 就可以了?
不需要 http,那是 TCP 协议下的,Link Play 走的是 UDP 协议,socket pair 就是 (IP, PORT)
,不是什么网址 URL
所以填个 IP 就行,域名可能也行(如果是用 CDN 代理域名的话可能需要设置别的什么(?))
不需要 http,那是 TCP 协议下的,Link Play 走的是 UDP 协议,socket pair 就是
(IP, PORT)
,不是什么网址 URL所以填个 IP 就行,域名可能也行(如果是用 CDN 代理域名的话可能需要设置别的什么(?))
我使用nginx反向代理,把服务器地址从本地主机改到我的域名。但无论是填写IP地址还是域名地址,都无法正常工作。
我甚至关闭了Cloudflare CDN,但仍然无法正常工作…
该房间可以被创建,但无法加入。
如果域名的解析使用 cloudflare,那域名应该是不行的,我记得 cloudflare 并不提供 UDP 转发功能,它的 DNS 记录给的是 cloudflare 的 IP
nginx 没有反代 UDP 端口吧,等会,我看到是 Linux,这是有公网 IP 的云服务器?那服务器控制台的端口开放了吗,一般有防火墙来着
如果域名的解析使用 cloudflare,那域名应该是不行的,我记得 cloudflare 并不提供 UDP 转发功能,它的 DNS 记录给的是 cloudflare 的 IP
nginx 没有反代 UDP 端口吧,等会,我看到是 Linux,这是有公网 IP 的云服务器?那服务器控制台的端口开放了吗,一般有防火墙来着
是的,这个是个云服务器。我已经用 ufw 打开了10900和10901端口,以便支持UDP和TCP连接。我甚至还在 bt.cn面板上打开了它们。
唔,控制台一般不是在云服务器运营商那边吗
UDP 不太好测试,但是你开的 10901 倒是可以测试一下,在自己电脑上 telnet [公网 IP] 10901
后随便敲几个字母回车,服务端应该有个 warning
唔,控制台一般不是在云服务器运营商那边吗
UDP 不太好测试,但是你开的 10901 倒是可以测试一下,在自己电脑上
telnet [公网 IP] 10901
后随便敲几个字母回车,服务端应该有个 warning
TCP Only...
端口已打开,但没有监听。
外部很难检测 UDP 连通性的,这样吧,能测试但要改代码,linkplay_server/main.py
中开头的 UDP_handler.handle
下第一行下面加个 print(client_msg)
然后远程使用以下代码可测试:
import socket
BUFSIZE = 1024
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
msg = input(">> ").strip()
ip_port = ('127.0.0.1', 10900)
client.sendto(msg.encode('utf-8'), ip_port)
client.close()
记得改掉上面的 IP,随便打点字符应该会出现在服务端窗口上
然后使用游戏客户端连连看
本机倒是可以测试端口监听,利用 netstat -ano
就行
外部很难检测 UDP 连通性的,这样吧,能测试但要改代码,
linkplay_server/main.py
中开头的UDP_handler.handle
下第一行下面加个print(client_msg)
然后远程使用以下代码可测试:
import socket BUFSIZE = 1024 client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: msg = input(">> ").strip() ip_port = ('127.0.0.1', 10900) client.sendto(msg.encode('utf-8'), ip_port) client.close()
记得改掉上面的 IP,随便打点字符应该会出现在服务端窗口上
然后使用游戏客户端连连看
本机倒是可以测试端口监听,利用
netstat -ano
就行
Public IP doesn't works, only Local IP (localhost)
emmm 看样子远程不连通,虽然我很想说是端口没开放……该不会被封端口了吧,一般不会倒是……
等一下,我看到前面有个截图日志,Link Play server 开在 127.0.0.1:10902 上对吧,这是云服务器的话,外部是不是要设置个端口转发的来着,哦对,前面您说了用 nginx 反代 http(s) 了,但是 UDP 有设置反代吗
Describe the bug 问题描述 5.0.1c Link Play 错误
To Reproduce 复现过程 Steps to reproduce the behavior:
Error log 报错日志
Screenshots 截图
Environment 环境
Additional context 附加内容