CentOS7.9作为Linux系统,架设传奇需解决Windows服务端的兼容问题(依赖Wine),同时做好命令行下的端口、权限与组件配置,以下为分阶段可落地的实操步骤,覆盖从基础环境到游戏可玩的全环节。
一、系统前期准备
系统基础更新与工具安装
远程连接服务器(推荐用Xshell、FinalShell),先执行系统更新命令:yumupdate-y,确保组件版本适配;再安装必备工具:yuminstall-ywgetunzipftpnet-tools(分别用于下载、解压、文件传输、端口查看),避免后续操作缺失工具。
Wine组件安装(核心兼容工具)
传奇服务端多为Windows架构,需通过Wine实现Linux下运行。先添加EPEL源:yuminstall-yepel-release;再安装Wine及依赖:yuminstall-ywinewine-core,安装完成后输入wine--version验证(显示版本号即正常)。
服务端与数据库文件上传
用FTP工具(如FileZilla)将传奇服务端压缩包(优先选M2/BLUE引擎纯净版)、SQLServerLinux版安装包上传至/opt目录;解压服务端:unzip传奇服务端.zip-d/opt/MirServer,确保解压后目录结构完整(含DBServer、LoginSrv、M2Server文件夹)。
二、CentOS7.9核心环境配置(关键步骤)
防火墙端口开放(firewalld配置)
传奇需开放的端口:1433(SQL数据库)、7000-7200(游戏连接)、80(登录器下载)。执行以下命令添加端口规则并生效:
firewall-cmd--add-port=1433/tcp--permanent
firewall-cmd--add-port=7000-7200/tcp--permanent
firewall-cmd--add-port=80/tcp--permanent
firewall-cmd--reload
执行firewall-cmd--list-ports确认端口已添加。
SELinux设置(避免权限拦截)
CentOS默认开启SELinux,可能阻止服务端运行,先临时关闭:setenforce0;再永久关闭(避免重启失效):编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,保存后需重启服务器生效(reboot)。
三、关键组件部署(数据库+服务端)
SQLServerLinux版安装与配置
先添加微软官方源:
curlhttps://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo>/etc/yum.repos.d/mssql-server.repo
安装SQLServer:yuminstall-ymssql-server;安装完成后执行配置命令:/opt/mssql/bin/mssql-confsetup,按提示选择版本(如Developer版)、设置sa账号密码(需牢记);启动服务并设为开机自启:
systemctlstartmssql-server
systemctlenablemssql-server
执行systemctlstatusmssql-server确认服务正常运行。
数据库导入(适配Linux路径)
先安装SQLServer命令行工具:
curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/msprod.repo
yuminstall-ymssql-toolsunixODBC-devel
配置环境变量(方便调用工具):echo'exportPATH="$PATH:/opt/mssql-tools/bin"'>>~/.bash_profile,执行source~/.bash_profile生效;
导入传奇数据库:sqlcmd-Slocalhost-Usa-P你的密码-Q"CREATEDATABASEMirDB",再执行sqlcmd-Slocalhost-Usa-P你的密码-dMirDB-i/opt/MirServer/DBServer/MirDB.sql(需确保服务端自带.sql脚本,无则用Windows下导出的脚本上传)。
服务端配置修改(Wine适配)
编辑/opt/MirServer/DBServer/DBConfig.ini,修改数据库连接信息:
服务器地址:localhost
数据库名:MirDB
账号:sa
密码:你的sa密码
保存后,编辑/opt/MirServer/LoginSrv/LoginSrv.ini,将“IP地址”改为服务器公网IP(通过curlifconfig.me获取)。
四、服务端启动与测试
Wine启动服务端(按顺序执行)
切换到服务端对应目录,用Wine启动进程(需按顺序,避免冲突):
cd/opt/MirServer/DBServer&&wineDBServer.exe(后台运行可加&,即wineDBServer.exe&)
cd/opt/MirServer/LoginSrv&&wineLoginSrv.exe&
cd/opt/MirServer/M2Server&&wineM2Server.exe&
执行psaux|grepwine查看进程,若三个进程均存在即启动正常。
客户端连接测试
用登录器生成器填写“服务器名称”“公网IP”“游戏端口7000”,生成登录器后复制到本地电脑;运行登录器,输入任意账号密码(首次登录自动注册),若能进入游戏地图、创建角色,且无卡顿闪退,即架设完成。
五、CentOS7.9特有问题处理
Wine启动服务端闪退
检查是否缺失Wine依赖:执行yuminstall-ywine-devel补充依赖;若M2Server.exe闪退,可尝试设置Wine兼容模式:WINEPREFIX=~/.wine32WINEARCH=win32wineM2Server.exe(32位兼容模式,部分服务端需32位环境)。
数据库连接失败
确认SQLServer服务已启动(systemctlstartmssql-server),且1433端口开放(netstat-tuln|grep1433);若提示“登录失败”,检查sa密码是否正确,或执行sqlcmd-Slocalhost-Usa-P密码测试登录。
服务端中文乱码
编辑/etc/profile文件,添加环境变量:exportLANG=zh_CN.GBK,执行source/etc/profile生效;再重启服务端进程,乱码问题可缓解(传奇服务端多默认GBK编码,Linux默认UTF-8需适配)。
一、系统前期准备
系统基础更新与工具安装
远程连接服务器(推荐用Xshell、FinalShell),先执行系统更新命令:yumupdate-y,确保组件版本适配;再安装必备工具:yuminstall-ywgetunzipftpnet-tools(分别用于下载、解压、文件传输、端口查看),避免后续操作缺失工具。
Wine组件安装(核心兼容工具)
传奇服务端多为Windows架构,需通过Wine实现Linux下运行。先添加EPEL源:yuminstall-yepel-release;再安装Wine及依赖:yuminstall-ywinewine-core,安装完成后输入wine--version验证(显示版本号即正常)。
服务端与数据库文件上传
用FTP工具(如FileZilla)将传奇服务端压缩包(优先选M2/BLUE引擎纯净版)、SQLServerLinux版安装包上传至/opt目录;解压服务端:unzip传奇服务端.zip-d/opt/MirServer,确保解压后目录结构完整(含DBServer、LoginSrv、M2Server文件夹)。
二、CentOS7.9核心环境配置(关键步骤)
防火墙端口开放(firewalld配置)
传奇需开放的端口:1433(SQL数据库)、7000-7200(游戏连接)、80(登录器下载)。执行以下命令添加端口规则并生效:
firewall-cmd--add-port=1433/tcp--permanent
firewall-cmd--add-port=7000-7200/tcp--permanent
firewall-cmd--add-port=80/tcp--permanent
firewall-cmd--reload
执行firewall-cmd--list-ports确认端口已添加。
SELinux设置(避免权限拦截)
CentOS默认开启SELinux,可能阻止服务端运行,先临时关闭:setenforce0;再永久关闭(避免重启失效):编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,保存后需重启服务器生效(reboot)。
三、关键组件部署(数据库+服务端)
SQLServerLinux版安装与配置
先添加微软官方源:
curlhttps://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo>/etc/yum.repos.d/mssql-server.repo
安装SQLServer:yuminstall-ymssql-server;安装完成后执行配置命令:/opt/mssql/bin/mssql-confsetup,按提示选择版本(如Developer版)、设置sa账号密码(需牢记);启动服务并设为开机自启:
systemctlstartmssql-server
systemctlenablemssql-server
执行systemctlstatusmssql-server确认服务正常运行。
数据库导入(适配Linux路径)
先安装SQLServer命令行工具:
curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/msprod.repo
yuminstall-ymssql-toolsunixODBC-devel
配置环境变量(方便调用工具):echo'exportPATH="$PATH:/opt/mssql-tools/bin"'>>~/.bash_profile,执行source~/.bash_profile生效;
导入传奇数据库:sqlcmd-Slocalhost-Usa-P你的密码-Q"CREATEDATABASEMirDB",再执行sqlcmd-Slocalhost-Usa-P你的密码-dMirDB-i/opt/MirServer/DBServer/MirDB.sql(需确保服务端自带.sql脚本,无则用Windows下导出的脚本上传)。
服务端配置修改(Wine适配)
编辑/opt/MirServer/DBServer/DBConfig.ini,修改数据库连接信息:
服务器地址:localhost
数据库名:MirDB
账号:sa
密码:你的sa密码
保存后,编辑/opt/MirServer/LoginSrv/LoginSrv.ini,将“IP地址”改为服务器公网IP(通过curlifconfig.me获取)。
四、服务端启动与测试
Wine启动服务端(按顺序执行)
切换到服务端对应目录,用Wine启动进程(需按顺序,避免冲突):
cd/opt/MirServer/DBServer&&wineDBServer.exe(后台运行可加&,即wineDBServer.exe&)
cd/opt/MirServer/LoginSrv&&wineLoginSrv.exe&
cd/opt/MirServer/M2Server&&wineM2Server.exe&
执行psaux|grepwine查看进程,若三个进程均存在即启动正常。
客户端连接测试
用登录器生成器填写“服务器名称”“公网IP”“游戏端口7000”,生成登录器后复制到本地电脑;运行登录器,输入任意账号密码(首次登录自动注册),若能进入游戏地图、创建角色,且无卡顿闪退,即架设完成。
五、CentOS7.9特有问题处理
Wine启动服务端闪退
检查是否缺失Wine依赖:执行yuminstall-ywine-devel补充依赖;若M2Server.exe闪退,可尝试设置Wine兼容模式:WINEPREFIX=~/.wine32WINEARCH=win32wineM2Server.exe(32位兼容模式,部分服务端需32位环境)。
数据库连接失败
确认SQLServer服务已启动(systemctlstartmssql-server),且1433端口开放(netstat-tuln|grep1433);若提示“登录失败”,检查sa密码是否正确,或执行sqlcmd-Slocalhost-Usa-P密码测试登录。
服务端中文乱码
编辑/etc/profile文件,添加环境变量:exportLANG=zh_CN.GBK,执行source/etc/profile生效;再重启服务端进程,乱码问题可缓解(传奇服务端多默认GBK编码,Linux默认UTF-8需适配)。

