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

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

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

授权远程访问(便于本地管理数据库,仅服务器本地使用可跳过):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Legend@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit; # 退出MySQL

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

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

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

CREATE DATABASE legend_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 创建数据库
USE legend_db; # 切换至目标数据库
source /home/ubuntu/legend/sql/legend_sql.sql; # 导入服务端SQL脚本(路径需与实际一致)
exit;

编辑服务端数据库配置文件:
sudo vim /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)
编辑引擎启动参数:
sudo vim /home/ubuntu/legend/start.sh

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

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

将登录器放入客户端根目录,双击运行登录器。
(三)联机验证
本地测试:在 Ubuntu 服务器上执行curl 127.0.0.1:7000,返回 “Connected” 即端口正常;
外网测试:用其他网络的电脑运行客户端,输入服务器外网 IP,注册账号后登录,测试角色创建、地图加载、怪物刷新功能,确认联机无异常。
六、Ubuntu 特有问题与解决
(一)MySQL 登录提示 “Access denied”
原因:认证方式未修改为mysql_native_password,或密码输入错误;
解决:重新执行 “修改 MySQL 认证方式” 步骤,确保命令正确;若密码遗忘,可通过sudo mysqld_safe --skip-grant-tables重置密码。
(二)引擎启动报错 “libaio.so.1: cannot open”
原因:缺少 libaio 运行库(Ubuntu 默认未安装);
解决:执行sudo apt install -y libaio1,安装后重新启动引擎。
(三)外网无法连接(ufw 已开放端口仍超时)
原因:Ubuntu 服务器在局域网内,未做路由器端口映射;或 ufw 防火墙未真正启用;
解决:
执行sudo ufw status确认防火墙为 “active”,且 7000、7100 端口显示 “ALLOW”;
登录路由器管理后台,添加端口映射(外网端口 7000→Ubuntu 服务器内网 IP:7000)。
(四)启动脚本提示 “Permission denied”
原因:服务端目录权限不足(未执行 chmod 命令或权限范围不够);
解决:重新赋予权限:sudo chmod -R 775 /home/ubuntu/legend(775 权限支持所有者与用户组操作)。
七、后期维护要点
服务监控:
每日执行ps aux | grep legend检查服务状态;
若服务意外停止,进入目录执行./start.sh重启(部分服务端含restart.sh,可直接执行)。
数据备份:
新建备份目录:sudo mkdir /home/backup;
每日备份数据库:mysqldump -u root -p legend_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。
系统维护:
避免频繁执行sudo apt upgrade(可能导致依赖兼容问题),如需更新仅执行sudo apt update;
重启服务器前,先执行./stop.sh停止传奇服务,重启后再启动服务。