日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅谈虚幻4引擎游戏客户端服务器及如何编译游戏专用服务器

發(fā)布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈虚幻4引擎游戏客户端服务器及如何编译游戏专用服务器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在使用虛幻4引擎開發(fā)網(wǎng)絡(luò)游戲時免不了會需要自己來編寫服務(wù)器,關(guān)于如何編寫網(wǎng)絡(luò)服務(wù)器,不在這篇文章的討論范圍,后面有時間可能會出相關(guān)的教程,這篇文章主要是基于某些原因,我們不想自己實現(xiàn)服務(wù)器,那么我們可以采用虛幻自帶的獨立專用服務(wù)器,并且將它打包成exe,log方式啟動,效果圖如下:

那么這就是服務(wù)器的啟動日志嘍,你可以把它理解為是一個后臺的進(jìn)程,也就是所謂的游戲服務(wù)器。那么虛幻4自帶的這套呢,是服務(wù)器和客戶端公用一套代碼,有利有弊吧,比如說優(yōu)點有,他可以在服務(wù)器模擬碰撞而不需要自己實現(xiàn),那么弊端就是不宜與維護(hù),因為客戶端和服務(wù)器代碼在一起。在游戲運行的時候,客戶端其實只是模擬服務(wù)器上的行為,也就是說客戶端上很多東西只是從服務(wù)器上同步過來的,可以看作是一個copy,在UE4引擎下如果需要同步的變量,或者是需要同步的行為,我們都把它設(shè)置為replicated即可。對于需要執(zhí)行的操作,那么就封裝成為一個事件在服務(wù)器執(zhí)行即可,當(dāng)然這也不是這篇文章重點要說的,有點跑題。那么下面講如何編譯游戲?qū)S梅?wù)器,其實很簡單,就幾個步驟。

1、你需要下載引擎源代碼,然后自已編譯引擎,至于如何下載編譯引擎,請讀者自行百度,這里簡單提一下吧,如果已經(jīng)下載編譯好的可以跳過此布。首先你需要注冊一個GitHub賬號,還要有一個epic game賬號,然后在epic game賬號設(shè)置中關(guān)聯(lián)GitHub賬號,之后去GitHub會收到關(guān)聯(lián)的驗證,點確認(rèn)后,你就可以在組織中找到它,

后面就不用我說了吧,選擇一個版本直接下載就行。

下載完成后,你會得到一個類似于這樣的壓縮文件,我這里是4.21版本。然后解壓,解壓完成后按圖示順序依次執(zhí)行批處理,首先點擊Setup,等待完成后,點擊gen.....生成vs工程,

完成后你會得到一個UE4.sln文件,

點擊該文件,啟動vs2017或者其他版本的vs,然后右鍵生成

之后的操作耐心等待即可,過程很漫長,一兩個小時甚至好幾個小時,取決于機(jī)器性能。生成完成后在下圖目錄中可以找到引擎exe文件。發(fā)送到桌面快捷方式即可。

2、用vs打開你需要編譯服務(wù)器的工程,如果你創(chuàng)建的不是c++工程,請右鍵工程名,生成vs工程。

生成完成后點擊打開工程:

?

?

你會得到如下的工程結(jié)構(gòu),

點擊此處可以啟動工程:

那么基礎(chǔ)操作我本不太想說太細(xì),避免篇幅太長,但是又考慮部分新手,還是簡單提一下。

3、下面需要做的就是關(guān)閉vs,不關(guān)也可以,后面根據(jù)提示重載解決方案即可,新建文件,命名看圖示規(guī)則:

記事本打開文件,寫入如下代碼:(有幾處需要修改的,根據(jù)圖示規(guī)則修改)

代碼貼一下吧:

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

[SupportedPlatforms(UnrealPlatformClass.Server)]
public class TestProjectServerTarget : TargetRules
{
? ? public TestProjectServerTarget(TargetInfo Target) : base(Target)
? ? {
? ? ? ? Type = TargetType.Server;
? ? ? ? ExtraModuleNames.Add("TestProject");
? ? }
}
?

這個代碼不同版本的引擎,寫法可能也有所不同(4.18后可以用上面代碼),最簡單的你也可以直接從官方對應(yīng)的shooter game 工程目錄下拷貝他的這個文件過來修改下也行。

4、完成以上步驟之后,我們再次生成vs工程,

打開vs,按如下圖示操作:

生成完成后,啟動工程,這時候需要修改下游戲的默認(rèn)服務(wù)器地圖設(shè)置等等(不設(shè)置的話可能導(dǎo)致服務(wù)器進(jìn)去是黑的,因為默認(rèn)是一個空地圖),根據(jù)自己項目需要設(shè)置即可。

設(shè)置完成后,關(guān)閉引擎,回到vs,按圖示步驟再次生成工程,注意的是這時生成的是服務(wù)器,

生成完成后,在如下目錄會得到一個exe文件:

將它拷貝到我們工程打包后的如下目錄,(如何打包讀者自行解決,比較簡單,這里不提)

此時就可以啟動我們的服務(wù)器了,有幾種方式,可以右鍵發(fā)送到桌面快捷方式,并修改目標(biāo),加? -log(方便我們查看日志)

然后直接打開快捷方式即可啟動服務(wù)器,也可以用dos命名啟動。

啟動成功如圖所示:

此時服務(wù)器便啟動成功了,也就意味著我們的獨立服務(wù)器打包成功了。可以啟動客戶端測試,輸入gm命令測試:

~open 127.0.0.1? 便可以打開地圖,本篇內(nèi)容到此結(jié)束,歡迎下方留言。

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的浅谈虚幻4引擎游戏客户端服务器及如何编译游戏专用服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。