站务联系

来玩一局CS吗?UE4射击游戏的独立服务器构建(2)

发布时间:2021-03-17   来源:网络整理    
字号:

进入项目的"~/Source"路径,新建一个文件命名为“项目名Server.Target.cs”,将项目名替换为实际项目名,例如我的项目名为“Shooting_Game”,则文件名命名为“Shooting_GameServer.Target.cs”。(如果你的项目没有Source路径,则说明是纯新蓝图的UE4项目,则在编辑器中添加任意一个C++类即可。)

编辑改建的文件,加入如下内容,注意替换项目名。

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
[SupportedPlatforms(UnrealPlatformClass.Server)]
public class Shooting_GameServerTarget : TargetRules   // 修改项目名
{
    public Shooting_GameServerTarget(TargetInfo Target) : base(Target)  // 修改项目名
    {
        Type = TargetType.Server;
        ExtraModuleNames.Add("Shooting_Game");    // 修改项目名
    }
}

切换项目的UE4引擎版本

右键项目根目录的“项目名.uproject”文件,选择"Switch Unreal Engine version..."

来玩一局CS吗?UE4射击游戏的独立服务器构建

构建服务器

在Visual Studio的解决方案配置(Solution Configuration)中选择"Development Server",然后在解决方案浏览器(Solution Explorer)中,在"Shooting_Game"(我的项目名称)点击右键,点击Build。这里只有481个建立方法,比编译UE4源码要少 一些,大约还要2小时。

构建完成以后,可以看见输出日志:

[480/481] Shooting_GameServer.exe
Creating library F:\workspace\ue4\Shooting_Game2\Binaries\Win64\Shooting_GameServer.lib and object F:\workspace\ue4\Shooting_Game2\Binaries\Win64\Shooting_GameServer.exp
[481/481] Shooting_GameServer.target

已经生成了Shooting_GameServer.exe,路径在“~\Binaries\Win64\”,如果我们尝试直接运行(需要添加运行参数-log,否则进程会在后台运行,什么疗效也看不到),会听到如下报错:

LogLinker: Warning: Unable to load package(...). Package contains EditorOnly data which is not supported by the current build.

意思是包含了仅支持编辑器内容的数据,“~\Binaries\Win64\”是编辑器建立文件夹,所以我们还须要进行客户端打包,然后再将服务器程序拷贝过去。

客户端打包

图说天下

×
二维码生成