查看: 47|回复: 0

[手工架设] 《武林外传》桃花奇缘588单机版|VM虚拟机+Linux手工端

[复制链接]

尚未签到

1539

主题

0

回帖

3万

积分

星空大帝

名望
0
星币
21142
星辰
0
好评
0
发表于 5 天前 | 显示全部楼层 |阅读模式

注册登录后全站资源免费查看下载

您需要 登录 才可以下载或查看,没有账号?立即注册

×
《武林外传》桃花奇缘588单机版|VM虚拟机+Linux手工+文本教程
目前刚刚架设上,还在研究当中,有虚拟机和Linux手工端,适合单机游玩,和学习
目前自己在原基础上修改了一下教程,让其更容易成功.
逛了一段时间,总是潜水,回馈一下
PS:忘记这个端的来源是哪里了.
【配置要求】
支持系统:Linux / Win7 / Win10 / Win11 64位
启动内存:3G(单线只需要2G)
【下载链接】
百度链接:武林桃花奇缘588
链接: https://pan.baidu.com/s/1i20TyxNgcnVGYRkPe2PomA 提取码: 7dfr
学一下他们的刮刮乐
因为原版的架设教程内容有点过时了,我按照这几天自己架设成功的经验进行了修改.
武林外传之桃花奇缘 Linux 搭建教程
测试系统:centos7.6
教程演示虚拟机地址:192.168.1.101 外网和局域网类似
进入Linux系统,设置虚拟内存(从AI上直接复制的)
一、创建 4G 虚拟内存文件(服务端运行需要3G内存,推荐设置下虚拟内存)
```
# 创建 4GB swap 文件,count=4096 单位MB

  • dd if=/dev/zero of=/swapfile bs=1M count=4096

复制代码
```
有点慢,等他创建完毕,然后进行第二部
二、设置权限(必须!swap 不能开放权限)
```

  • chmod 600 /swapfile

复制代码
```
三、格式化为 swap
```

  • mkswap /swapfile

复制代码
```
四、启用 swap
```

  • swapon /swapfile

复制代码
```
五、开机自动挂载(永/久生效)
编辑 `/etc/fstab`
```

  • nano /etc/fstab

复制代码
```
在文件末尾添加一行:
```

  • /swapfile swap swap defaults 0 0

复制代码
```
保存退出:nano `Ctrl+O` →回车→`Ctrl+X`
六、验证是否生效
```

  • <div>free -h
    swapon --show</div>

复制代码
```
输出里能看到 4G swap 即成功。
正文开始
安装宝塔直接运行命令即可。

  • if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh docscenter

复制代码
输入y回车确认安装
关闭SSL验证命令(可选項,公网架设的话不推荐关闭):

  • rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart

复制代码
关闭后执行 “bt 14” 查看新的面板地址
(云服务器需要放行宝塔面板端口,否则无法访问宝塔.)
PS:如果安装了SSL导致无法登陆面板 问AI即可
搭建环境:
CentOS 7.6以上系统
Nginx 1.30.4
MySQL 5.7.44
PHP 8.2.33
1、不关闭防火墙!只开放需要端口

  • <div>systemctl start firewalld
    systemctl enable firewalld</div>

复制代码
宝塔放行端口:1-65535
或单独打开,默认是有两个线,端口是:80,81,888,29702,29712,29000,29100,29300,29301,29400,29401
PS:如果使用腾讯云或阿里云记得把控制台的端口也打开
3306数据库端口开放的话,推荐设置你的自己的IP限制,不让别人访问
2、上传wlwz.tar.gz到服务器根目录(根目录不是root目录!!使用WinSCP或其他工具上传数据,也可以直接宝塔传(宝塔需要先传到别处,再复制到根目录)!!)
解压wlwz.tar.gz

  • <div>cd /
    tar zxvf wlwz.tar.gz</div>

复制代码
给予 777权限

  • <div>chmod -R 777 /root
    chmod -R 777 /usr/wulin
    chmod -R 777 /usr/java
    chmod -R 777 /www/wwwroot/game
    </div>

复制代码
3.环境配置

  • <div>yum install -y glibc*i686
    yum install -y libstdc++.so.5
    yum install -y libz.so.1
    yum -y install libxml2
    yum -y install libxml2.so.2
    yum -y install ld-linux.so.2</div>

复制代码
4、设置数据库密码,默认密码:123456 如果架设公网,不推荐使用默认密码.这里假设密码修改为:2djn23oDoj1 自己到时候修改即可
宝塔面板点击 数据库>>root密码 设置即可
设置数据库权限(下面都用修改密码:2djn23oDoj1)

  • <div>mysql -u root -p2djn23oDoj1
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '2djn23oDoj1' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'linux' IDENTIFIED BY '2djn23oDoj1' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    Quit</div>

复制代码
导入数据库
cd /root
./sk
数据库创建结束。可以通过宝塔查看是否创建成功。
(数据库>>同步数据库>>从服务器同步到面板 获取2个就正确的wulin和cdcol)
运行后为了安全可以把 sk 文件删除
rm -f ./sk
打开/usr/wulin/authd/build/下面要修改两个文件
table.xml
table0.xml
打开第一个

  • vi /usr/wulin/authd/build/table.xml

复制代码
找到<connection name="auth0" poolsize="3" url="jdbc:mysql://127.0.0.1:3306/wulin?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true" username="root" password="123456"/>
把里面的password="123456"换成password="2djn23oDoj1"
vi 草作:
按"i"进入编辑,修改密码字符串,修改完按ESC,输入:wq 保存退出
打开第二个

  • vi /usr/wulin/authd/build/table0.xml

复制代码
找到<connection name="auth0" poolsize="3" url="jdbc:mysql://localhost/wm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true" username="root" password="123456"/>
把里面的123456换成2djn23oDoj1
然后修改网站注册接入数据库的密码,下面用宝塔面板打开的
打开/www/wwwroot/game/zc 打开config.php
还是把里面的pssword的123456替换成2djn23oDoj1
该目录下的register.php也需要修改,但是txt文本放不了代码,见论坛:【新提醒】《武林外传》桃花奇缘588单机版|VM虚拟机+Linux手工端 - 网游单机下载
下面是register.php文件的替换内容,直接复制全部替换,接入有点问题,没有新手黄金送.

  • <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <?php
    include("config.php");
    ini_set('display_errors', true);
    error_reporting(E_ALL);
    $serverid= $_POST['serverid'];
    $Login = $_POST['username'];
    $PassWord1 = $_POST['passwd'];
    $PassWord2 = $_POST['repeatpasswd'];
    $Email = $_POST['email'];
    $Prompt=$_POST['question'];
    $answer= $_POST['answer'];
    $QQ=$_POST['qq'];
    if($serverid==100)
    {
    echo "<script>alert('请选择服务器')</script>";
    echo "<script>document.location.href='register.htm'</script>";
    }
    else
    {
    if($serverid==1)
    {
    $Link = mysqli_connect($DBHost, $DBUser, $DBPassword) or die ("Unable to connect to MySql");
    mysqli_select_db($Link, $DBName1) or die ("Database ".$DBName." do not exists.");
    }
    elseif($serverid==2)
    {
    $Link = mysqli_connect($DBHost, $DBUser, $DBPassword) or die ("Unable to connect to MySql");
    mysqli_select_db($Link, $DBName2) or die ("Database ".$DBName." do not exists.");
    }
    elseif($serverid==3)
    {
    $Link = mysqli_connect($DBHost, $DBUser, $DBPassword) or die ("Unable to connect to MySql");
    mysqli_select_db($Link, $DBName3) or die ("Database ".$DBName." do not exists.");
    }
    if (preg_match("[^0-9a-zA-Z_-]", $Login, $Txt))
    {
    echo "<script>alert('Username format error')</script>";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif (preg_match("[^0-9a-zA-Z_-]", $PassWord1, $Txt))
    {
    echo "<script>alert('Password format error')</script>";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif (preg_match("[^0-9a-zA-Z_-]", $PassWord2, $Txt))
    {
    echo "<script>alert('Password format error')</script>";
    echo "<script>document.location.href='register.htm'</script>";
    }
    else
    {
    $Result = mysqli_query($Link,"SELECT name FROM users WHERE name='$Login'") or die ("Can't mysql_query .");
    if (mysqli_num_rows($Result))
    {
    echo "<script>alert('user name".$Login."Already exists')</script>";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif ((StrLen($Login) < 6) or (StrLen($Login) > 16))
    {
    echo "<script>alert('The username must be greater than 6 digits but less than 16 digits. Please re-enter')</script> ";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif ((StrLen($PassWord1) < 6) or (StrLen($PassWord1) > 15))
    {
    echo "<script>alert('The password must be greater than 6 digits but less than 15 digits. Please re-enter')</script> ";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif ((StrLen($Email) < 4) or (StrLen($Email) > 25))
    {
    echo "<script>alert('Email is greater than 4 digits but less than 25 digits, please re-enter')</script> ";
    echo "<script>document.location.href='register.htm'</script>";
    }
    elseif ($PassWord1 != $PassWord2)
    {
    echo "<script>alert('The passwords entered twice are different. Please re-enter them')</script> ";
    echo "<script>document.location.href='register.htm'</script>";
    }
    else
    {
    $Salt = $Login.$PassWord1;
    $Salt = md5($Salt);
    $Salt = "0x".$Salt;
    $date=date('Y-m-j');
    mysqli_query($Link,"call adduser('$Login', $Salt, '$Prompt', '$answer', '0', '0', '$Email', '0', '0', '0', '0', '0', '0', '0', '$date', '$QQ', $Salt)")
    or die ("Can't call adduser .");
    //这么做注册出来的账号无法登陆游戏
    // mysqli_query($Link,"call adduser('$Login', MD5('$PassWord1'), '$Prompt', '$answer', '0', '0', '$Email', '0', '0', '0', '0', '0', '0', '0', '$date', '$QQ', MD5('$PassWord1'))")
    // or die ("Can't call adduser .");
    $sql="select ID from users where `name`='$Login'";
    $res=mysqli_query($Link,$sql);
    $row=mysqli_fetch_row($res);
    mysqli_free_result($res);
    $id = implode($row);
    $date=date("Y-m-d H:i:s");
    $sql = "insert into usecashnow(userid, zoneid, sn, aid, point, cash,status, creatime) values ('$id', '1', '0', '1', '0', '$point', '1', '$date')";
    mysqli_query($Link,$sql);
    mysqli_close($Link); //alert('恭喜账号 ".$Login." 注册成功,系统已自动送出 ". $point/100 ." 黄金,5分钟后自动到帐!');
    echo ("<script type='text/javascript'>
    alert('Registration-Successful:".$Login." OK');
    location.href='register.htm';</script>");
    //echo ("<script type='text/javascript'> alert('恭喜账号 ".$Login." 注册成功!');location.href='register.htm';</script>");
    }
    }
    }
    ?>

复制代码
6、搭建网站 (注册用的,如果你不用网页注册可以不创建)
新建一个网站 宝塔面板>>网站>>添加站点 -你的ip:端口 或域名:端口
有端口就添加端口这里的端口80
网站目录设置\www\wwwroot\game
5、启动游戏服务
PS:因为目前线路没有名字,人少推荐只开一个线路,到root打开qd文件,注释掉后两排,单线可以减少服务器的内存使用

  • <div>#cd /usr/wulin/gamed
    #./gs gs.conf gmserver.conf gsalias10.conf &</div>

复制代码
即可单线
启动游戏

  • <div>cd /root
    ./qd</div>

复制代码
关闭游戏:

  • <div>cd /root
    ./stop</div>

复制代码
启动后可以通过
端口查看命令 netstat -lntp
推荐是同screen挂载
8、客户端修改 (客户端默认地址192.168.1.101)
\客户端\patcher\server\serverlist.txt
下面启动试试
注册账号:使用GM工具注册 或者登陆网站 http://ip:80/zc
PS:不管是否关闭SSL验证命令,注册网站都是http开头不是https
运行游戏:
\客户端\启动游戏.bat
下面是游玩图片
PixPin_2026-09-04_13-23-56.png
昨天
PixPin_2026-09-04_13-23-20.png
昨天

温馨提示:本帖内容来自网络分享,帖内若出现联系方式请勿相信,谨防上当受骗。


资源仅供学习交流,请于下载后 24 小时内删除
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:paijishu@outlook.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号
Archiver|手机版|偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网--教开服-游戏源码

相关侵权、举报、投诉及建议等,请发 E-mail:paijishu@outlook.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部