本地搭建帕鲁服务器并使用IPV6进行公网通信

编程 · 2024-02-14 · 36 人浏览
本地搭建帕鲁服务器并使用IPV6进行公网通信


想和小伙伴一起玩帕鲁,但是又不想忍受付费服务器后各种可能的延迟,跑路,存档消失等问题?

如果你尚有余力(指拥有一台8G及以上的电脑,且有条件访问IPv6),不如试试这个方法自己搭一个。

搭建服务器

Win下

下载steamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
新建文件夹,放入其中,解压缩
之后在此打开ps或者cmd,使用以下命令:

steamcmd +login anonymous +app_update 2394010 validate +quit

进入:

cd .\steamapps\common\PalServer

执行 PalServer.exe

linux下

比较复杂,请进入官方手册按提示安装:https://tech.palworldgame.com/getting-started/deploy-dedicated-server

服务器更新:
按照安装部分流程进行一次就行了

使用IPV6进行公网通信

大前提:能够正常使用ipv6且拥有公网网址,其他玩家也要有v6地址

众所周知,很多游戏服务器不支持ipv6,也包括帕鲁。

原理:通过端口映射转发数据,服务器将本地ip端口等v4信息转发到v6公网网址,然后客户端通过公网网址将v6端口信息转发到v4端,形成一个虚拟局域网

使用各种端口映射软件即可,这里使用tinymapper

因为v6网址多变,这里建议使用ddns网站申请一个域名,并且配合ddns-go等工具按时检测并更新网址解析。这样可以保证动态改正你的v6地址,就不用每次手动检测和更改地址了。

拥有域名后可搭配tinymapper进行解析:

客户端命令(cmd):

@echo off
chcp 65001
echo 主机域名开启服务器
set hostWWW=你的域名
set IPv6Address=
set mapPort=8211
set hostPort=40800

for /f "tokens=*" %%t in ('Nslookup %hostWWW%^| findstr /B /C:"Addresses:"') do (
    for /F "tokens=2 delims= " %%a IN ("%%t") DO (
        set "IPv6Address=%%a"
        goto :gotIPv6
    )
)
:gotIPv6
if not defined IPv6Address (
    echo 没有找到有效的IPv6地址,请确保主机支持并配置了IPv6!
) else (
    echo 找到的IPv6地址为:%IPv6Address%
    tinymapper.exe -l127.0.0.1:%mapPort% -r[%IPv6Address%]:%hostPort% -u
)
pause

服务端命令(cmd):

@echo off
chcp 65001
echo 主机域名开启服务器
set hostWWW=你的域名
set IPv6Address=
set mapPort=8211
set hostPort=40800
for /f "tokens=*" %%t in ('Nslookup %hostWWW%^| findstr /B /C:"Addresses:"') do (
    for /F "tokens=2 delims= " %%a IN ("%%t") DO (
        set "IPv6Address=%%a"
        goto :gotIPv6
    )
)
:gotIPv6
if not defined IPv6Address (
    echo 没有找到有效的IPv6地址,请确保主机支持并配置了IPv6!
) else (
    echo 找到的IPv6地址为:%IPv6Address%
    tinymapper.exe -l[%IPv6Address%]:%hostPort% -r127.0.0.1:%mapPort% -u
)
pause
以上命令原理为:
tinymapper参数说明: -l本地的ip地址 -r目标的ip地址 -u表示这是udp连接 -t表示这是tcp连接
首先Nslookup解析域名得到IPv6地址,再借由tinymapper 在服务端将本地端口转发到公网端口,在客户端则相反。如果脚本报错请检查报错信息,解析v6地址部分请参考自己Nslookup的返回格式。

按服务器开启后,执行服务端命令,这样服务端准备工作就完成了。
在客户端,执行客户端命令,由于绑定的转发地址是127.0.0.1且端口默认为8211
所以进入多人界面地址栏不用修改即可直接加入游戏!

帕鲁 服务器
Theme Jasmine by Kent Liao