본문 바로가기

Development/Unreal Engine 4, 5

Some comments about making Dedicated Server

DukeSoft
3 months ago
Awesome stuff man, thanks a ton! A few things I've noticed when using 4.25.1:
- The client binaries are in "WindowsNoEditor\MyProject\Binaries\Win64" instead of "WindowsNoEditor\Engine\Binaries"
- Adding the map names in the list for packaging doesn't work - I've removed it (leave it empty) and now it includes all maps.. Probably not something you really want but works for me for now.
Also a question: As I've switched to 4.25.1 Source Built, I can't open the project anymore through the editor. I have to change it back to "4.25" from the store. And then back again when I want to build the Dedicated Server again. Is there an easier solution to this? E.g. leave it on source built? Or some kind of batch script? I also think that after switching and rebuilding the dedicated server, its re-compiling all 632 .cpp files - I'm quite sure this is not neccesary every time, so getting this to work without having to switch all the time would probably save a lot of time.
Other than that, the "folders" on Github are actually "Repositories" :) its a version control term. Repositories then contain folders and files :D 
But once again - I thank you greatly for the accurate and clean walkthrough. 10/10. 

 

 

 

 

 

Retro Bart
1 month ago (edited)
Did everything step by step, but:
1. Visual Studio 2017 didn´t work to Build the Game Bineries... Switching to 2019 solved that Problem.
2. Starting Dedi-Server brings that Message: The map specified on the commandline '/Game/Maps/ServerMap' could not be found. Would you like to load the default map instead? Solved --> In List of Maps to include in a packaged build best practice is to browse to maps (...). Just using the Map-Name DID NOT WORK!!
3. ~ Key didn´t work (German Keyboard) Best Practice: Assingning an new Key under Project-Settings/Console (search-option) e.g. "0".
4. Build failed with: Missing UE4Game binary. You may have to build the UE4 project with your IDE. Alternatively, build using UnrealBuildTool with the commandline:UE4Game <Platform> <Configuration> --> Problem solved restarting UE4 Editor...^^
So i think you haven´t make anything of this video on a fresh VS+UE4 Installation :-) 

 

 

 

 

 

James Albert
10 hours ago (edited)
This all worked with one exception. I had to set the project's version to the release build before I could package. Also, when I start the server, there are a bunch of warnings in the log:

Warning: Accessed None trying to read property CallFunc_GetPlayerController_ReturnValue

My project was completely blueprint until I followed this video and I started with the FPS blueprint demo project.

One last thing, I noticed that when another player connects, I can only see their gun floating about. Players in my game also have the ability to spawn objects, but players can only see what they themselves spawn. When another player spawns something, it's invisible to them. I understand that the client needs to be able to tell the server about new objects it spawns, and there's probably a way to specify what players see other players as, but I have no idea how to go about doing either of those things. Are there videos that address these two things?

update: I was able to get rid of those warnings in the log. I had a "GetPlayerController" call without passing it through "IsValid" before using it. Doing so got rid of the warnings. 

 

 

 

 

 

 

 

 

 

 

 

 

 

RCL STAFF Aug 29 '17 at 2:13 AM

1

Yes. You need to be on the same build, which is not guaranteed in this case. You could hack the code to do that but then you need to be prepared to track subtle errors that may be introduced by incompatible changes in content or code between two machines. A better way would be testing a packaged build (you can package it for Windows and Linux on your Windows machine and then copy .pak files to Linux machine to /Content/Paks directory - that way game or server binary will be able to pick it up).

 

 

 

 

You can override the version check value by passing the networkversionoverride command line argument. For example, when testing packaged phone clients against my Linux dedicated server, I launch the server with this command line:

~/proj/UnrealEngine/Engine/Binaries/Linux/UE4Editor-Linux-DebugGame ~/proj/myproj/MyProj.uproject /Game/Maps/MyMap?listen -server networkversionoverride=4541578

To find the value to pass for networkversionoverride, search the log on your packaged client for this LogNetVersion line:

[0010.30][ 0]LogNetVersion: Tdp 1.0.0, NetCL: 4541578, EngineNetVer: 10, GameNetVer: 0 (Checksum: 1349145699)

This is an old question, but maybe this will help some poor soul in the future.

 

 

 

answers.unrealengine.com/questions/700326/client-connection-with-invalid-version.html

 

Client connection with invalid version - UE4 AnswerHub

You can override the version check value by passing the networkversionoverride command line argument. For example, when testing packaged phone clients against my Linux dedicated server, I launch the server with this command line: ~/proj/UnrealEngine/Engine

answers.unrealengine.com

 

 

 

 

 

 

 

level 1

Fade78

2 years ago

Never mind. I did a fresh install and reinstalled the "Saved" directory and it works.

 

www.reddit.com/r/ConanExiles/comments/9hyjb1/my_own_dedicated_server_invalid/

 

My own dedicated server "invalid"

Hello, I have my own conan exiles server on a linux VM. It was running ok for days. Since the latest patch, I can't connect because of a version...

www.reddit.com