[熟肉] 从入门到放弃 Gmod服务器快速搭建教程

您所在的位置:网站首页 steamcmd登录账号输密码没反应 [熟肉] 从入门到放弃 Gmod服务器快速搭建教程

[熟肉] 从入门到放弃 Gmod服务器快速搭建教程

2023-11-20 12:59| 来源: 网络整理| 查看: 265

前言:

该文献来自https://wiki.facepunch.com/gmod/ 我进行了汉化,如果感兴趣我也可能会出一期视频专门 水水 Gmod系列(

Window

SteamCMD

专用服务器现在使用SteamCMD下载。这是 Steam 的命令行版本。

你可以从https://developer.valvesoftware.com/wiki/SteamCMD下载它。

第一次运行它时,它会更新,你将留在 STEAM> 控制台上。你将需要登录,你可以通过键入以下内容登录匿名帐户:

login anonymous

安装和更新Garry's Mod专用服务器

如果要指定下载文件夹,请在更新之前输入以下命令:

众所周知,当把你的服务器更新到一个较新的版本时,这将导致问题。如果你的服务器更新失败,可以尝试不使用force_install_dir功能,或者尝试将你的服务器重新安装到另一个文件夹中。你也可以尝试在通过登录命令登录到Steam之前输入force_install_dir

force_install_dir c:\my_garrysmod_server\

然后,你可以使用以下命令安装或更新Garry's Mod专用服务器:

app_update 4020

它将慢慢下载或更新。

如果要验证服务器,请输入以下内容而不是上述内容:

app_update 4020 validate

完成后,你可以在控制台上键入退出以退出或关闭 SteamCMD 窗口。

自动化

你可能不想每次要安装/更新服务器时都这样做,别担心 - 它也支持命令行。

steamcmd.exe +login anonymous +force_install_dir c:\my_garrysmod_server\ +app_update 4020 validate +quit

运行服务器

下载并安装服务器文件后,你现在可以运行专用服务器。 你可以直接运行或使用其命令行界面,如下所示:srcds.exe

srcds.exe +maxplayers 20 -console +gamemode sandbox +map gm_construct +sv_setsteamaccount

初始安装后

安装服务器后,你应该设置GSL令牌和服务器的位置。

GSLT

请参阅 Steam 游戏服务器帐户 (GSLT) 以获取有关 的帮助。这是强制性的。如果你不这样做,你的服务器的排名将受到惩罚

sv_setsteamaccount

服务器OP规则

此OP非彼OP,OP全称Operator

请确保你的服务器符合服务器OP规则

位置标志

接下来,你应该设置服务器的位置。这是通过控制台变量完成的。convar 应直接对应于存储在文件夹中的标志图标,不带扩展名,最大长度当前设置为 5 个字符, 国旗图标文件名遵循国家/地区代码:http://www.famfamfam.com/lab/icons/flags/

sv_locationmaterials/flags16/.pngISO 3166-1 alpha-2)

Steam血汗工厂

或者,你可以添加到命令行以自动将创意工坊插件安装到你的专用服务器上, 请参阅专用服务器研讨会,获取有关专用服务器研讨会的帮助

+host_workshop_collection

点对点

专用服务器可以在对等模式下运行。它可以通过命令行参数打开。启动时,服务器将告诉您玩家如何手动连接到此类服务器。

-p2p

Linux

主要文献: Linux专用服务器管理

安装

按照Valve Developer Wiki的建议安装SteamCMD。

然后以与Windows类似的方式安装Gmod专用服务器:

steamcmd +login anonymous +force_install_dir ../gmodds +app_update 4020 validate +quit

cd ~/gmodds/ ./srcds_run -game garrysmod +maxplayers 32 +map gm_construct

故障 排除

如果你收到错误消息

./steamcmd.sh: line 29: /home/$USER/Steam/linux32/steamcmd: No such file or directory

你很可能运行 64 位系统并缺少 32 位库

如果此命令的输出x86_64,则你运行的是 64 位系统,需要 32 位库

uname -m

请参阅Valve Wiki上的这篇文章32 位 Linux 系统上的 64 位库

下载游戏内容一般要求

为了能够在Garrysmod DS上安装半条命第一章/第二章/传送门/其他内容,有一些要求,它们是:

游戏必须使用Steam格式,并且可以在SteamCMD上使用。

你可以通过 Steam 帐户合法访问游戏副本。

对于我们的示例,我们将使用《半条命2:第二章》

第一步

对于TF2,CSS等内容,只需启动SteamCMD并输入即可

login anonymous

如果你正在寻找EP2或EP1(一般为单人游戏游戏)等内容,请启动SteamCMD并输入

login

确保此 Steam 帐户上有该游戏,否则您将收到“无法访问”错误。

当您使用实际用户名登录时,它会要求输入密码(在控制台中显示为纯文本)。如果你启用了 Steam 安全令牌,它将要求你输入令牌

第二步

与典型的 SteamCMD 服务器一样,执行 app_update 命令。

对于第二章,这是 420,所以你会输入

app_update 420

但是,请确保无论要安装的内容(在本例中为第二集)的哪个位置都不指向运行服务器的服务器目录。这样做会强制将游戏内容安装到根文件夹本身,并可能导致大量覆盖和问题,通常会导致你从头开始。

最好从服务器文件夹(例如 C:\BaseContent)中创建一个文件夹,您可以在其中指向所有app_update命令以防止这种情况发生并覆盖所有服务器文件(例如将 Garrysmod 'bin' 文件夹替换为第二集的文件夹,这反过来会破坏服务器并迫使你重新开始)

第三步

假设一切顺利,内容将开始下载到指定的目录。内容已经是 Steampipe 格式,因此无需进行转换。

然后,使用 mount.cfg 文件,我们可以设置具有适当标签的内容路径,完成此操作后,重新启动服务器,内容应该可以正常工作并可供用户使用。

GSP / 多服务器提示

如果将内容安装到单个位置(如 C:\BaseContent),然后将所有装载文件指向该位置,则每个服务器都可以从该目录装载。您不再需要随每台服务器一起运送内容

要升级Garrysmod的任何在线内容(CSS,TF2等),只需每次都让SteamCMD指向该文件夹,它将执行增量更新。这样你就不必每次都费力气了

运行服务器的用户只需要对这些内容文件夹的 (R)ead 权限

加载界面

convar sv_loadingurl允许服务器所有者定义一个网页,以便在加入服务器时向玩家显示

设置服务器的加载网址

如果你通过控制台设置 convar,请确保在 URL 周围加上引号。前面也应该添加一个 +,你的命令应如下所示:

+sv_loadingurl “https://space.bilibili.com/2098140055/favlist”

如果要将其放入 autoexec.cfg 配置文件中,请务必删除 +,如下所示:

sv_loadingurl “https://space.bilibili.com/2098140055/favlist”

如果需要,你还可以在 URL 中使用 %s 或 %m(最有可能在 GET 变量中)分别传递Steam ID 和映射名称。例如:

sv_loadingurl “https://space.bilibili.com/2098140055/favlist?mapname=%m&steamid=%s”

这些可以在以后使用简单的PHP代码进行检索。

自定义加载页面

本部分不会详细介绍创建页面,并假设你已经设计了一个页面。

Javascript函数

有几个Javascript函数由Garry的Mod直接调用。要使用这些函数,只需在你的页面中创建一个具有该名称的函数 - 当与之关联的事件发生时,它将被调用。

/* 在开始时调用,当加载屏幕完成加载所有资产时。 serverName - 服务器的名称。Convar: hostname 例如:"Garry's Mod Server" serverURL - 载入屏幕的URL。Convar: sv_loadingurl 例如:

"http://mywebsite.com/myloadingscreen.html" mapName - The name of the map the server is playing. For example: "cs_office" maxPlayers - Maximum number of players for the server. Convar: maxplayers steamID - 64-bit, numeric Steam community ID of the client joining. For example: 76561198012345678 gamemode - The gamemode the server is currently playing. Convar: gamemode For example: "deathrun" volume - The value of the player's in-game 'snd_musicvolume' console variable (Music Volume), from 0 to 1 language - The value of the player's in-game 'gmod_language' console variable, a two letter representation of the player's main menu language */function GameDetails( servername, serverurl, mapname, maxplayers, steamid, gamemode, volume, language ) {}

/* Called at the start total- Total number of files the client will have to download. */function SetFilesTotal( total ) {}

/* Called when the client starts downloading a file. fileName- The full path and name of the file the client is downloading. This path represents the resource's location rather than the actual file's location on the server. For example, the file "garrysmod/addons/myAddon/materials/models/bobsModels/car.mdl" will be: "materials/models/bobsModels/car.mdl" */function DownloadingFile( fileName ) {}

/* Called when the client's joining status changes. status- Current joining status. For example: "Starting Lua..." Under normal conditions this would not be fired until game client starts interacting with server files/workshop. This means you probably can't use "Retrieving server info" and everything that goes before downloads. */function SetStatusChanged( status ) {}

/* Called when the number of files remaining for the client to download changes. needed- Number of files left for the client to download. */function SetFilesNeeded( needed ) {}

PHP GET 参数

%m 和 %s 将分别替换为服务器的当前地图和玩家的 64 位 SteamID。这意味着你可以使用PHP的$ _GET超全局来获取它们

地图是一个字符串,因此使用它应该没有问题。 然而,SteamID 并不是游戏中常见的经典“速记”蒸汽 ID。转换方法(使用PHP的bcmath和bcsub)如下所示

http://maurits.tv/data/garrysmod/wiki/wiki.garrysmod.com/indexb59e.html 的方法 - 如果这不起作用

例子

如果要使用本地文件作为加载屏幕,例如在游戏模式创建期间作为默认加载屏幕,则可以使用 asset:// 前缀。该示例使用默认加载屏幕,但可以使用任何 html 文件。

sv_loadingurl “asset://garrysmod/html/loading.html”

例子

我们寻求验证,它有用吗?

如果你想使用简单图像作为加载屏幕,但没有虚拟主机,则可以使用以下代码作为你的值。确保替换为指向你要使用的图像的链接。这利用数据 URI 为 URL 编写 HTMLsv_loadingurlURL-GOES-HERE

data:text/html,html,body{padding:0;margin:0;background:#000}

即用型示例

如果你懒,建议你用下面的几个网址:

gmod-lsm.com

一个免费,在线且易于使用的加载屏幕制作器,无需编写任何代码或租用Web服务器。https://www.gmod-lsm.com

gmod-lsm

loadseed

用于构建加载屏幕的应用程序框架。你可以使用它快速开始构建你的设计。在开始之前,请务必阅读自述文件

https://github.com/glua/load-seed

LoadSeed

gmodload.com

一个完全免费的加载屏幕创建者,没有编码,没有网络服务器,也没有水印。https://gmodload.com/

GmodLoad看不懂是吧,那可以看BV13b4y1k79P,这位Up很给力,我的服务器搭建就是看他的视频一步步学起来的...



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3