一、前期准备:系统与资源清单
(一)系统与硬件要求
系统版本:确保服务器安装CentOS7.2(最小安装或带基础图形界面均可,推荐最小安装以减少资源占用),提前通过cat/etc/redhat-release命令确认系统版本。
硬件配置:建议双核及以上CPU、8G内存(支持5-10人在线)、20GB以上存储空间(含系统、服务端、数据库),优先选择SSD磁盘提升数据读写速度。
(二)必备工具与资源
远程管理工具:本地电脑安装Xshell(远程命令行操作)、WinSCP(文件传输),用于连接CentOS服务器并上传文件。
传奇相关资源:
下载支持Linux系统的传奇引擎(如GEELinux版、GOMLinux版,需与服务端版本匹配);
对应版本的服务端压缩包(含数据库脚本、引擎程序)、客户端安装包;
MySQL5.7安装包(CentOS7.2兼容稳定版本,避免高版本兼容问题)。
依赖组件:提前准备gcc、gcc-c++、libstdc++、zlib-devel、libaio-devel等编译与运行依赖(后续通过yum命令安装)。
二、系统环境初始化(关键步骤)
(一)关闭SELinux(避免拦截服务)
执行命令vim/etc/selinux/config,打开配置文件;
将SELINUX=enforcing修改为SELINUX=disabled,保存并退出(按Esc键,输入:wq);
执行reboot重启服务器,生效SELinux关闭设置(重启后通过getenforce命令验证,显示Disabled即为成功)。
(二)安装基础依赖
通过yum命令批量安装依赖组件,执行以下命令:
yuminstall-ygccgcc-c++libstdc++libstdc++-develzlib-devellibaio-develwgetnet-tools
等待安装完成(出现“Complete!”表示成功),这些依赖是引擎与MySQL运行的基础。
(三)部署MySQL5.7数据库
1.移除系统默认MySQL残留(若有)
yumremove-ymariadb-libs
2.添加MySQL5.7yum源
wgethttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm-ivhmysql57-community-release-el7-11.noarch.rpm
3.安装并启动MySQL
yuminstall-ymysql-community-server
systemctlstartmysqld#启动服务
systemctlenablemysqld#设置开机启动
4.初始化MySQL(获取临时密码+修改密码)
执行grep'temporarypassword'/var/log/mysqld.log,从输出中提取临时密码(如abc123!);
登录MySQL:mysql-uroot-p,输入临时密码;
修改密码(需包含大小写、数字、特殊字符,符合MySQL5.7复杂度要求):
ALTERUSER'root'@'localhost'IDENTIFIEDBY'Legend@123';
FLUSHPRIVILEGES;
授权远程访问(便于后续本地管理数据库,若仅服务器本地使用可跳过):
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'Legend@123'WITHGRANTOPTION;
FLUSHPRIVILEGES;
exit;#退出MySQL
三、传奇服务端架设核心步骤
(一)上传并解压服务端
打开WinSCP,连接CentOS服务器(输入IP、用户名、密码);
在服务器/home目录下新建legend文件夹(用于存放服务端),将本地服务端压缩包(如legend_server.tar.gz)上传至该目录;
回到Xshell,执行命令解压:
cd/home/legend
tar-zxvflegend_server.tar.gz#解压压缩包
chmod-R755/home/legend#赋予服务端目录执行权限
(二)配置数据库连接
执行mysql-uroot-p登录MySQL,创建传奇数据库并导入脚本:
CREATEDATABASElegend_dbCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;#创建数据库
USElegend_db;#切换到目标数据库
source/home/legend/sql/legend_sql.sql;#导入服务端SQL脚本(路径需与实际一致)
exit;
编辑服务端数据库配置文件:
执行vim/home/legend/config/config.ini,打开配置文件;
找到数据库配置段,修改为:
DBHost=127.0.0.1#本地数据库IP
DBName=legend_db#刚创建的数据库名
DBUser=root#MySQL用户名
DBPass=Legend@123#MySQL密码
DBPort=3306#MySQL默认端口
保存并退出(:wq)。
(三)配置引擎与端口
编辑引擎启动配置:
执行vim/home/legend/start.sh,确认引擎启动参数(如端口设置),确保ServerPort=7000、LoginPort=7100(传奇常用端口,可按需修改);
若引擎需指定IP,添加ServerIP=服务器外网IP(如1.2.3.4)。
开放传奇所需端口(CentOS7.2用firewalld防火墙):
firewall-cmd--add-port=7000/tcp--permanent#开放游戏端口
firewall-cmd--add-port=7100/tcp--permanent#开放登录端口
firewall-cmd--add-port=3306/tcp--permanent#开放MySQL端口(仅远程管理需开放)
firewall-cmd--reload#重启防火墙生效
四、服务启动与联机测试
(一)启动传奇服务端
执行cd/home/legend进入服务端目录;
执行./start.sh启动引擎,若输出“ServerStartSuccess”或类似提示,说明服务启动成功;
查看服务运行状态:执行psaux|greplegend,若能看到引擎进程(如legend_server),表示服务正常运行。
(二)客户端与登录器配置
本地电脑安装传奇客户端(需与服务端版本一致);
编辑登录器列表文件(如List.txt),添加:
我的传奇服服务器外网IP:7000#格式:服务器名IP:端口
将登录器放入客户端根目录,运行登录器。
(三)联机验证
本地测试:在服务器上通过curl127.0.0.1:7000测试端口是否通(返回“Connected”即正常);
外网测试:用其他网络的电脑运行客户端登录器,输入服务器外网IP,注册账号后登录,测试角色创建、地图加载功能,确认联机正常。
五、常见问题与解决
(一)MySQL启动失败(systemctlstatusmysqld显示错误)
原因:my.cnf配置错误或磁盘空间不足;
解决:执行cat/var/log/mysqld.log查看错误日志,若提示“diskfull”,清理服务器无用文件;若为配置错误,执行vim/etc/my.cnf,恢复默认配置(或删除多余配置项),重启MySQL(systemctlrestartmysqld)。
(二)引擎启动报错“libstdc++.so.6:cannotopen”
原因:缺少libstdc++依赖;
解决:执行yuminstall-ylibstdc++-devel,安装依赖后重新启动引擎。
(三)外网无法连接(登录器提示“连接超时”)
原因:防火墙端口未开放、服务器外网IP配置错误,或路由器未做端口映射(若服务器在局域网内);
解决:
执行firewall-cmd--list-ports,确认7000、7100端口已在列表中;
检查config.ini中ServerIP是否为服务器真实外网IP;
若服务器在局域网,登录路由器管理后台,添加端口映射(外网端口7000→内网IP:7000)。
(四)服务端启动后进程秒退
原因:服务端目录权限不足或SQL脚本导入失败;
解决:
重新赋予权限:chmod-R755/home/legend;
重新导入SQL脚本,确保脚本路径正确且无语法错误。
六、后期维护要点
服务监控:
定期执行psaux|greplegend查看服务状态;
若服务意外停止,执行./restart.sh重启(部分服务端含重启脚本,无则重新执行./start.sh)。
数据备份:
每日备份数据库:执行mysqldump-uroot-plegend_db>/home/backup/legend_db_$(date+%Y%m%d).sql(需先创建/home/backup目录);
每周备份服务端配置:执行tar-zcvf/home/backup/legend_config_$(date+%Y%m%d).tar.gz/home/legend/config。
系统维护:
避免随意更新系统(yumupdate可能导致依赖兼容问题);
若需重启服务器,先执行./stop.sh停止传奇服务,重启后再执行./start.sh启动。
(一)系统与硬件要求
系统版本:确保服务器安装CentOS7.2(最小安装或带基础图形界面均可,推荐最小安装以减少资源占用),提前通过cat/etc/redhat-release命令确认系统版本。
硬件配置:建议双核及以上CPU、8G内存(支持5-10人在线)、20GB以上存储空间(含系统、服务端、数据库),优先选择SSD磁盘提升数据读写速度。
(二)必备工具与资源
远程管理工具:本地电脑安装Xshell(远程命令行操作)、WinSCP(文件传输),用于连接CentOS服务器并上传文件。
传奇相关资源:
下载支持Linux系统的传奇引擎(如GEELinux版、GOMLinux版,需与服务端版本匹配);
对应版本的服务端压缩包(含数据库脚本、引擎程序)、客户端安装包;
MySQL5.7安装包(CentOS7.2兼容稳定版本,避免高版本兼容问题)。
依赖组件:提前准备gcc、gcc-c++、libstdc++、zlib-devel、libaio-devel等编译与运行依赖(后续通过yum命令安装)。
二、系统环境初始化(关键步骤)
(一)关闭SELinux(避免拦截服务)
执行命令vim/etc/selinux/config,打开配置文件;
将SELINUX=enforcing修改为SELINUX=disabled,保存并退出(按Esc键,输入:wq);
执行reboot重启服务器,生效SELinux关闭设置(重启后通过getenforce命令验证,显示Disabled即为成功)。
(二)安装基础依赖
通过yum命令批量安装依赖组件,执行以下命令:
yuminstall-ygccgcc-c++libstdc++libstdc++-develzlib-devellibaio-develwgetnet-tools
等待安装完成(出现“Complete!”表示成功),这些依赖是引擎与MySQL运行的基础。
(三)部署MySQL5.7数据库
1.移除系统默认MySQL残留(若有)
yumremove-ymariadb-libs
2.添加MySQL5.7yum源
wgethttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm-ivhmysql57-community-release-el7-11.noarch.rpm
3.安装并启动MySQL
yuminstall-ymysql-community-server
systemctlstartmysqld#启动服务
systemctlenablemysqld#设置开机启动
4.初始化MySQL(获取临时密码+修改密码)
执行grep'temporarypassword'/var/log/mysqld.log,从输出中提取临时密码(如abc123!);
登录MySQL:mysql-uroot-p,输入临时密码;
修改密码(需包含大小写、数字、特殊字符,符合MySQL5.7复杂度要求):
ALTERUSER'root'@'localhost'IDENTIFIEDBY'Legend@123';
FLUSHPRIVILEGES;
授权远程访问(便于后续本地管理数据库,若仅服务器本地使用可跳过):
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'Legend@123'WITHGRANTOPTION;
FLUSHPRIVILEGES;
exit;#退出MySQL
三、传奇服务端架设核心步骤
(一)上传并解压服务端
打开WinSCP,连接CentOS服务器(输入IP、用户名、密码);
在服务器/home目录下新建legend文件夹(用于存放服务端),将本地服务端压缩包(如legend_server.tar.gz)上传至该目录;
回到Xshell,执行命令解压:
cd/home/legend
tar-zxvflegend_server.tar.gz#解压压缩包
chmod-R755/home/legend#赋予服务端目录执行权限
(二)配置数据库连接
执行mysql-uroot-p登录MySQL,创建传奇数据库并导入脚本:
CREATEDATABASElegend_dbCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;#创建数据库
USElegend_db;#切换到目标数据库
source/home/legend/sql/legend_sql.sql;#导入服务端SQL脚本(路径需与实际一致)
exit;
编辑服务端数据库配置文件:
执行vim/home/legend/config/config.ini,打开配置文件;
找到数据库配置段,修改为:
DBHost=127.0.0.1#本地数据库IP
DBName=legend_db#刚创建的数据库名
DBUser=root#MySQL用户名
DBPass=Legend@123#MySQL密码
DBPort=3306#MySQL默认端口
保存并退出(:wq)。
(三)配置引擎与端口
编辑引擎启动配置:
执行vim/home/legend/start.sh,确认引擎启动参数(如端口设置),确保ServerPort=7000、LoginPort=7100(传奇常用端口,可按需修改);
若引擎需指定IP,添加ServerIP=服务器外网IP(如1.2.3.4)。
开放传奇所需端口(CentOS7.2用firewalld防火墙):
firewall-cmd--add-port=7000/tcp--permanent#开放游戏端口
firewall-cmd--add-port=7100/tcp--permanent#开放登录端口
firewall-cmd--add-port=3306/tcp--permanent#开放MySQL端口(仅远程管理需开放)
firewall-cmd--reload#重启防火墙生效
四、服务启动与联机测试
(一)启动传奇服务端
执行cd/home/legend进入服务端目录;
执行./start.sh启动引擎,若输出“ServerStartSuccess”或类似提示,说明服务启动成功;
查看服务运行状态:执行psaux|greplegend,若能看到引擎进程(如legend_server),表示服务正常运行。
(二)客户端与登录器配置
本地电脑安装传奇客户端(需与服务端版本一致);
编辑登录器列表文件(如List.txt),添加:
我的传奇服服务器外网IP:7000#格式:服务器名IP:端口
将登录器放入客户端根目录,运行登录器。
(三)联机验证
本地测试:在服务器上通过curl127.0.0.1:7000测试端口是否通(返回“Connected”即正常);
外网测试:用其他网络的电脑运行客户端登录器,输入服务器外网IP,注册账号后登录,测试角色创建、地图加载功能,确认联机正常。
五、常见问题与解决
(一)MySQL启动失败(systemctlstatusmysqld显示错误)
原因:my.cnf配置错误或磁盘空间不足;
解决:执行cat/var/log/mysqld.log查看错误日志,若提示“diskfull”,清理服务器无用文件;若为配置错误,执行vim/etc/my.cnf,恢复默认配置(或删除多余配置项),重启MySQL(systemctlrestartmysqld)。
(二)引擎启动报错“libstdc++.so.6:cannotopen”
原因:缺少libstdc++依赖;
解决:执行yuminstall-ylibstdc++-devel,安装依赖后重新启动引擎。
(三)外网无法连接(登录器提示“连接超时”)
原因:防火墙端口未开放、服务器外网IP配置错误,或路由器未做端口映射(若服务器在局域网内);
解决:
执行firewall-cmd--list-ports,确认7000、7100端口已在列表中;
检查config.ini中ServerIP是否为服务器真实外网IP;
若服务器在局域网,登录路由器管理后台,添加端口映射(外网端口7000→内网IP:7000)。
(四)服务端启动后进程秒退
原因:服务端目录权限不足或SQL脚本导入失败;
解决:
重新赋予权限:chmod-R755/home/legend;
重新导入SQL脚本,确保脚本路径正确且无语法错误。
六、后期维护要点
服务监控:
定期执行psaux|greplegend查看服务状态;
若服务意外停止,执行./restart.sh重启(部分服务端含重启脚本,无则重新执行./start.sh)。
数据备份:
每日备份数据库:执行mysqldump-uroot-plegend_db>/home/backup/legend_db_$(date+%Y%m%d).sql(需先创建/home/backup目录);
每周备份服务端配置:执行tar-zcvf/home/backup/legend_config_$(date+%Y%m%d).tar.gz/home/legend/config。
系统维护:
避免随意更新系统(yumupdate可能导致依赖兼容问题);
若需重启服务器,先执行./stop.sh停止传奇服务,重启后再执行./start.sh启动。

