PHP对接传奇服务端思路
PHP 想跟传奇服务端搭上话,说白了就三条路,看引擎新旧选。
第一条最省事:直接读写服务端的 MySQL 库。GOM、GEE 这类引擎,账号库、人物库都落在数据库里,PHP 注册页连上去插一条就完事。
<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=mir;charset=utf8', 'root', '123456');
$user = $_POST['user'];
$pwd = md5($_POST['pwd']); // 账号表基本都存 MD5
$sql = "INSERT INTO account(user,pwd,gm) VALUES(?,?,0)";
$pdo->prepare($sql)->execute([$user, $pwd]);
echo '注册成功';
第二条:老引擎还挂在 DBC2000 的 Access 库上,PHP 读不了。让服务端配个网关注册接口,PHP 用 curl 把账号密码 POST 过去,由网关落库。
第三条:网页充值发元宝。别直接 UPDATE 人物表,角色在线时内存会把你的写入盖回去。先踢下线再写库,或者让服务端提供脚本命令走脚本发放。
几个坑记一下:密码字段基本都是 MD5,别存明文;GM 权限字段默认给 0,手滑给大了就是事故;还有登录 IP 限制表,有时会把网页这条连接拦掉,查半天查不出来。
小皮面板上测试的话,PHP 版本挑 7.x,MySQL 连接记得开 mysqli 或 pdo_mysql 扩展,不然连不上库还以为是代码问题。
说点什么 0