Centry 7上的Garry's Mod

Garry's Mod可以完全控制和修改视频游戏引擎——起源引擎。你几乎可以使用Garry's Mod制作任何你想要的游戏。架设Garry's Mod服务器是在互联网上与朋友一起玩的好方法,同时也能控制服务器。

本指南介绍如何创建,维护和保护Garry's Mod服务器。

准备工作

  1. 您将需要一个Steam帐户和Garry's Mod复件。
  2. 完成我们的教程:为Steam游戏服务器安装SteamCMD。这将使您的Linode上安装并运行SteamCMD,本教程将在SteamCMD页面运行结束的地方开始指导。

注意本教程是为非root用户编写的。需要提升权限的命令带有前缀sudo。如果您不熟悉该sudo命令,可以查看我们的“ 用户和组”向导。

建立Garry's Mod的先决条件

从SteamCMD指南中可知,Gmod需要另外两个步骤。

1. 添加防火墙规则。此命令假定您只有 SteamCMD指南中的firewalld规则。这将在已存在的SteamCMD规则之后插入开放端口10999的规则。

sudo firewall-cmd --zone=public --add-port=27000 27030/udp --permanent

2. 安装追加的32位软件包:

sudo yum install ncurses-libs.i686

安装Garry's Mod

1. 确保您在目录中~/Steam,然后访问Steam>提示符。

cd ~/Steam && ./steamcmd.sh

2. 在SteamCMD提示符下,匿名登录:

login anonymous

或者使用您的Steam用户名登录:

login example_user

3. 将Gmod安装到Steam用户的主目录:

force_install_dir ./gmod app_update 4020 validate

这可能需要一些时间。如果下载看起来没有动静,请耐心等待。下载完成后,您应该看 到以下结果:

Success! App '4020' fully installed.  Steam>

4. 退出SteamCMD:

quit

注意:若要更新Gmod,请再次运行上述4个命令。

配置Garry's Mod

此部分会配置服务器的不同方面,包括游戏模式和工作室插件。

启动脚本

1. 使用以下内容为Gmod创建启动脚本:

〜/ startgmod.sh1 2 3 4
#!/bin/sh  cd ./Steam/gmod screen -S "Garry's Mod Server" ./srcds_run -game garrysmod +maxplayers 20 +map gm_flatgrass           

运行时,脚本将更改目录~/Steam/gmod并在屏幕会话中执行Garry's Mod 。 srcds_run二进制可以采取更多的参数,你可以在看到Valve的开发人员的wiki。

2. 使脚本可自动执行:

chmod +x ~/startgmod.sh

更新脚本

Garry's Mod wiki有使用脚本更新Gmod的说明,而非通过SteamCMD手动更新。请参阅安装Garry的Mod下

服务器重新启动后自动启动

当您的服务器重新启动时,这将自动重启Garry'sMod。

1. 打开Crontab(在vim中打开):

crontab -e

2. 输入启动命令。确保二进制标志与启动脚本中的相同。

@reboot /home/steam/Steam/gmod/srcds_run -game garrysmod +maxplayers 20 +map gm_flatgrass

3. 退出vim,按Esc,然后键入:x并按Enter键

服务器配置文件

默认server.cfg文件为空,必须添加要为服务器指定的任何配置选项。这是可选的,下面是一个不错的参考。

〜/steam/GMOD/garrysmod/cfg/sever.cfg

1 2 3 4 5 6 7 8

hostname "server_hostname" sv_password "server_password" sv_timeout 60 rcon_password "rcon_password" mp_autoteambalance 1 mp_limitteams 1 writeid writeip

创意工坊插件

  1. Garry's Mod Collections中创建要在服务器上安装的插件收藏。您需要登录Steam。
  2. 请注意插件ID。它位于网址的末尾,由'X'表示:

http://steamcommunity.com/sharedfiles/filedetails/?id=XXXXXXXXX

  1. Steam API密钥页面获取Steam API密钥。注意密钥。
  2. 将Steam API密钥和创意工坊插件ID粘贴到启动脚本中。例如:
./srcds_run +maxplayers 20 +gamemode terrortown +map cs_office -authkey YOURKEYGOESHERE +host_workshop_collection 157384458

这个命令设置了游戏模式为恐怖城镇的麻烦(TTT),但是如果你已经下载了游戏模式,可以改为你想要的游戏模式。

有关Workshop Addons的更多信息,请参阅Garry's Mod wiki中的专用服务器研讨会

使用服务器

1. 现在您的服务器已安装并配置,可以通过startgmod.shsteam用户的主目录运行脚 本来启动它。

         cd ~/ && ./startgmod.sh

警告:从此时开始,除非您想要停止Gmod,否则请勿在控制台中按Ctrl + C键。

2. 要从运行服务器控制台的屏幕会话中分离,请连续按下以下两个组合键: Ctrl + A Ctrl + D.

3. 要重新启动控制台,请键入以下命令:

screen -r

4. 要停止服务器,请呼出GMOD控制台,然后按Ctrl + C

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些资源是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

本文的版权归 lucbunny 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Asp.Net MVC4入门指南(7):给电影表和模型添加新字段

在本节中,您将使用Entity Framework Code First来实现模型类上的操作。从而使得这些操作和变更,可以应用到数据库中。 默认情况下,就像您在...

19510
来自专栏腾讯技术工程官方号的专栏

Ceph 集群整体迁移方案

本文就介绍了一种实现业务不中断的数据迁移方案,并已经在多个生产环境执行。

63612
来自专栏信安之路

RedTeam 技巧集合

1、利用目标用户使用的 user agent 来隐藏自身的恶意流量,比如像 Outlook 软件的 UA。

1422
来自专栏Theo Tsao

Ionic3学习笔记(十三)HttpClient 实现 HTTP 请求以及踩过的一些坑

当然是基于这篇古老的文章啦 ==> http://www.jianshu.com/p/9855610eb1d4 因为是2015年的文章,已经时隔2年多,很难确保...

4191
来自专栏逸鹏说道

NET跨平台:在Ubuntu下搭建ASP.NET 5开发环境

0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了。最近工作上有个小功能要做成Web应...

2963
来自专栏皮振伟的专栏

[linux][memory]balloon技术分析

前言: 我大天朝人觉得什么东西含量不够,叫做有“水份”。内存的含量不足,叫“balloon”。作者是外语专业毕业的,感觉不同国度的人虽然语言不同,但是表达出来的...

5138
来自专栏晓晨的专栏

Autofac高级用法之动态代理

1763
来自专栏Python研发

django-rest-framework登陆认证

3172
来自专栏蓝天

C/C++编程可用的Linux自带工具

GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Soluti...

1302
来自专栏恰同学骚年

.NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列

  “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中,“消息队列”是在消息的传...

8095

扫码关注云+社区

领取腾讯云代金券