当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

Ubuntu服务器系统怎么架设传奇?详细操作步骤

热度:
一、前期准备:系统与资源清单
(一)系统与硬件要求
系统版本:推荐Ubuntu20.04LTS或22.04LTS(长期支持版稳定性高),通过lsb_release-a命令确认系统版本;优先选择“最小安装”镜像,减少后台资源占用。
硬件配置:双核及以上CPU、8G内存(支持5-10人在线)、20GB以上存储空间(含系统、服务端、数据库),SSD磁盘可提升地图加载与数据库读写速度,建议优先选用。
(二)必备工具与资源
远程管理工具:本地电脑安装Xshell(远程命令行)、WinSCP(文件传输),用于连接Ubuntu服务器并上传文件。
传奇相关资源:
支持Linux系统的传奇引擎(如GEELinux版、GOMLinux版,需与服务端版本严格匹配);
对应版本的服务端压缩包(含数据库SQL脚本、引擎执行程序)、客户端安装包;
MySQL8.0(Ubuntu官方源适配稳定,避免高版本兼容问题)。
依赖组件:需提前准备gcc、g++、libstdc++6、zlib1g-dev、libaio-dev等编译与运行依赖(后续通过apt命令安装)。
二、系统环境初始化(Ubuntu特有配置)
(一)关闭AppArmor(避免拦截服务)
Ubuntu默认启用AppArmor安全机制,可能阻止传奇引擎与数据库运行,需关闭:
执行命令停止服务:sudosystemctlstopapparmor
禁用开机启动:sudosystemctldisableapparmor
验证状态:sudosystemctlstatusapparmor,显示“inactive”即为成功。
(二)安装基础依赖
通过apt命令批量安装依赖(Ubuntu包名与CentOS有差异,需注意对应):
sudoaptupdate#更新apt源
sudoaptinstall-ygccg++libstdc++6libstdc++-10-devzlib1g-devlibaio-devwgetnet-toolsmysql-server

等待安装完成(出现“Settingupxxx”且无报错即成功),其中mysql-server会直接安装MySQL8.0。
三、MySQL8.0数据库配置(Ubuntu关键步骤)
(一)修改MySQL认证方式(传奇服务端兼容必备)
Ubuntu下MySQL8.0默认使用auth_socket认证,服务端无法通过密码连接,需改为mysql_native_password:
免密登录MySQL(Ubuntu默认root无密码,直接进入):sudomysql-uroot
切换至mysql系统数据库:usemysql;
修改root认证方式与密码(密码需含大小写、数字、特殊字符,如Legend@123):
ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'Legend@123';
FLUSHPRIVILEGES;

授权远程访问(便于本地管理数据库,仅服务器本地使用可跳过):
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'Legend@123'WITHGRANTOPTION;
FLUSHPRIVILEGES;
exit;#退出MySQL

(二)配置MySQL远程连接
编辑MySQL配置文件,允许外部IP访问:
sudovim/etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address=127.0.0.1,修改为bind-address=0.0.0.0(允许所有IP连接),保存退出(Esc+:wq)。
重启MySQL服务生效:sudosystemctlrestartmysql
四、传奇服务端架设核心步骤
(一)上传并解压服务端
打开WinSCP,输入Ubuntu服务器IP、用户名(如ubuntu)、密码,建立连接;
在服务器/home/ubuntu目录下新建legend文件夹,将本地服务端压缩包(如legend_server.tar.gz)上传至该目录;
回到Xshell,执行命令解压并赋予权限:
cd/home/ubuntu/legend#进入服务端目录
tar-zxvflegend_server.tar.gz#解压文件
sudochmod-R755/home/ubuntu/legend#赋予所有文件执行权限

(二)配置数据库连接
登录MySQL,创建传奇专用数据库并导入脚本:
mysql-uroot-p#输入密码Legend@123登录

CREATEDATABASElegend_dbCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;#创建数据库
USElegend_db;#切换至目标数据库
source/home/ubuntu/legend/sql/legend_sql.sql;#导入服务端SQL脚本(路径需与实际一致)
exit;

编辑服务端数据库配置文件:
sudovim/home/ubuntu/legend/config/config.ini

找到数据库配置段,修改为:
DBHost=127.0.0.1#本地数据库IP(远程连接填服务器外网IP)
DBName=legend_db#刚创建的数据库名
DBUser=root#MySQL用户名
DBPass=Legend@123#MySQL密码
DBPort=3306#MySQL默认端口

保存退出(Esc+:wq)。
(三)配置引擎与端口(Ubuntu防火墙用ufw)
编辑引擎启动参数:
sudovim/home/ubuntu/legend/start.sh

确认端口设置(如ServerPort=7000、LoginPort=7100),若引擎需指定IP,添加ServerIP=服务器外网IP(如1.2.3.4),保存退出。
开放传奇所需端口(Ubuntu默认ufw防火墙未启用,需手动配置):
sudoufwenable#启动ufw防火墙
sudoufwallow7000/tcp#开放游戏端口
sudoufwallow7100/tcp#开放登录端口
sudoufwallow3306/tcp#开放MySQL端口(仅远程管理需开放)
sudoufwstatus#验证端口是否开放(显示“ALLOW”即为成功)

五、服务启动与联机测试
(一)启动传奇服务端
进入服务端目录:cd/home/ubuntu/legend
执行启动脚本:./start.sh,若输出“ServerStartSuccess”或类似提示,说明服务启动成功;
查看运行状态:psaux|greplegend,若能看到legend_server等进程,证明服务正常运行。
(二)客户端与登录器配置
本地电脑安装与服务端版本一致的传奇客户端;
用记事本打开登录器列表文件(如List.txt),添加:
我的传奇服服务器外网IP:7000#格式:服务器名IP:端口

将登录器放入客户端根目录,双击运行登录器。
(三)联机验证
本地测试:在Ubuntu服务器上执行curl127.0.0.1:7000,返回“Connected”即端口正常;
外网测试:用其他网络的电脑运行客户端,输入服务器外网IP,注册账号后登录,测试角色创建、地图加载、怪物刷新功能,确认联机无异常。
六、Ubuntu特有问题与解决
(一)MySQL登录提示“Accessdenied”
原因:认证方式未修改为mysql_native_password,或密码输入错误;
解决:重新执行“修改MySQL认证方式”步骤,确保命令正确;若密码遗忘,可通过sudomysqld_safe--skip-grant-tables重置密码。
(二)引擎启动报错“libaio.so.1:cannotopen”
原因:缺少libaio运行库(Ubuntu默认未安装);
解决:执行sudoaptinstall-ylibaio1,安装后重新启动引擎。
(三)外网无法连接(ufw已开放端口仍超时)
原因:Ubuntu服务器在局域网内,未做路由器端口映射;或ufw防火墙未真正启用;
解决:
执行sudoufwstatus确认防火墙为“active”,且7000、7100端口显示“ALLOW”;
登录路由器管理后台,添加端口映射(外网端口7000→Ubuntu服务器内网IP:7000)。
(四)启动脚本提示“Permissiondenied”
原因:服务端目录权限不足(未执行chmod命令或权限范围不够);
解决:重新赋予权限:sudochmod-R775/home/ubuntu/legend(775权限支持所有者与用户组操作)。
七、后期维护要点
服务监控:
每日执行psaux|greplegend检查服务状态;
若服务意外停止,进入目录执行./start.sh重启(部分服务端含restart.sh,可直接执行)。
数据备份:
新建备份目录:sudomkdir/home/backup;
每日备份数据库:mysqldump-uroot-plegend_db>/home/backup/legend_db_$(date+%Y%m%d).sql(输入密码完成备份);
每周备份服务端配置:tar-zcvf/home/backup/legend_config_$(date+%Y%m%d).tar.gz/home/ubuntu/legend/config。
系统维护:
避免频繁执行sudoaptupgrade(可能导致依赖兼容问题),如需更新仅执行sudoaptupdate;
重启服务器前,先执行./stop.sh停止传奇服务,重启后再启动服务。
[顶部]