如果你想体验自己当GM的感觉,你想和你的朋友在魔兽世界里面过一过怀旧的味道,那么你一定不能错过。这份搭建教程。事实上我很少写教程。
为什么会有这篇文章
顺手为之罢了,把我踩过的坑让大家避免下。
下载源码都是900M加上编译过程中的问题百出,用现成的不香吗?而且,编译过程也是透明的。
为什么是335不是其他的,据大佬透露TC端只有335能有实际维护,后续都是套路框架。
要求
ubuntu 20.04 或者大于,不能是debian(C语言编译不具有通用性,这与golang不同。)
准备工作
安装依赖
|
|
不安装依赖是不可能的,
下载服务端到你的Ubuntu,并解压
下载地址,下载方式如图所示旋转第一个√的图标的图标。需要登录GITHUB
|
|
|
|
修改worldserver.conf中 DataDir = "."
为 DataDir = "../data"
|
|
如果测试结束没有问题可以删除,磁盘空间富裕的没有关系.
初始化数据库
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
设置密码 Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! 禁止root登陆(为了方便登陆,建议开启) Disallow root login remotely? [Y/n] n ... skipping. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
下载World数据库,选择TDP335的名字下载TDB 335,并解压到服务端路径sql下。
下载汉化文件1,2,3,及开局送包包的sql导入(可选)
|
|
数据库名称介绍
Auth:权限数据库,存储服务器列表,玩家账户等信息。
Characters:角色数据库,存储所有角色人物相关的信息。
World:世界数据库,存储整个魔兽世界的一切信息,包括NPC,怪物,装备,道具,任务,副本等等所有一切。
开机启动
这里我设置了几个常用的开机启动脚本在我的github。
|
|
注意,使用需要配置下worldserver.conf。 ①,避免服务器后台之后CPU100%的问题。 Console.Enable = 0
②,开启远程控制,可以使用telent进行登录,但是必须先设置一个GM,因为使用gm 账号密码进行登录。
Ra.Enabl = 1
副本单排设置
Instance.IgnoreRaid = 1,进副本不需要团队,一个人就可以进入
数据库的备份/删除
使用单个命令进行配置的时候 /mnt/sdb/mysql/ 替换成你想要保存的路径。
vi /etc/crontab
在最后单独一行加入
|
|
单独使用备份的命令,我这里是root用户直接登录所以没有密码,需要密码使用 -u root -p 指定密码
mysqldump --all-databases --single-transaction --quick --lock-tables=false > **/mnt/sdb/mysql/**TDB335_full_backup_$(date "+%Y%m%d%H%M%S").sql
重启定时任务
service cron restart
阻止ubuntu 自动更新软件
查看版本 (我这里要找 10.3.25 版本的软件,替换成10.3.22的数据库版本。)
dpkg -l |grep -i 10.3.25
一键匹配
|
|
保留 当前版本不升级
|
|
数据库的远程访问
vi /etc/mysql/mariadb.conf.d/50-server.cnf
把bind-address = 127.0.0.1这一行注释掉。
连接MariaDB数据库,执行以下命令开启远程访问。以下命令只允许 192.168.248.248的用户以root使用password进行登录。
|
|
如果需要任意IP地址访问,就把IP地址换成%。
重启
systemctl restart mariadb.service
公网与局域网访问
局域网和外网都可以使用,只要有一个是通的,使用127.0.0.1的人确保是本机运行。
1 2 3 |
mysql use auth UPDATE realmlist SET name='服务器名字', address='外网域名与客户端配置一致可ddns' ,localAddress='局域网IP' WHERE id=1; |
总结
说真的,我并没想到这一切变得更加不可控,而且也更加无聊了。彷佛一个事情你只要研究够深,够透彻。你就越会对它失去兴趣。我写这篇文章出来,可能他并不完善,也不理想,但是总能帮助一部分人。worldserver.conf 中能配置很多东西,但这需要你不停的研究。有时候你不写点东西你就不知道自己掌握了多少东西。你总以为自己都是瞎折腾。把这一切记录下来。看看到底是不是瞎折腾。
所有的东西都可以在github上下载。https://github.com/user1121114685/TrinityCore