# Dedicated server with Steam is a joke

**URL:** <https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620>\
**Category:** C++\
**Tags:** unreal-engine\
**Created:** [January 16, 2016, 6:27pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620 "2016-01-16T18:27:44Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![Rama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rama/32/882413_2.png) [@Rama](https://forums.unrealengine.com/u/Rama)\
**Post date:** [March 7, 2016, 5:47am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/62 "2016-03-07T05:47:37Z")

</div>

> [@Scienziatogm;488154](#):
>
> Pull request done : [https://github.com/EpicGames/UnrealEngine/pull/2135](https://github.com/EpicGames/UnrealEngine/pull/2135)
> 
> Now I’ll work on the wiki article.
> 
> EDIT: I saw that my pull request isn’t updated to the latest version of the engine. Now I’m updating it.

Wow!

Your pull request is massive, thank you for sharing!

I also can’t wait to see your wiki!

I am publishing my wiki sending/receiving any custom data via UDP socket right now!  
[https://wiki.unrealengine.com/UDP\_Socket\_Sender\_Receiver\_From\_One\_UE4\_Instance\_To\_Another#Overview](https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another#Overview)

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 7, 2016, 6:52am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/63 "2016-03-07T06:52:42Z")

</div>

> [@;488220](#):
>
> Wow!
> 
> Your pull request is massive, thank you for sharing!
> 
> I also can’t wait to see your wiki!
> 
> I am publishing my wiki sending/receiving any custom data via UDP socket right now!  
> [A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums](https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another#Overview)

Thanks. For the session system, I would recommend the @ 's wiki article, anyway tomorrow if I have some time, I’ll write the wiki article on how to enable the authentication with my pull request, and how to create sessions with Steam listed on the Steam master server.

---

<div class="post-metadata">

**Author:** ![Rama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rama/32/882413_2.png) [@Rama](https://forums.unrealengine.com/u/Rama)\
**Post date:** [March 7, 2016, 5:58pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/64 "2016-03-07T17:58:46Z")

</div>

> [@Scienziatogm;488237](#):
>
> Thanks. For the session system, I would recommend the @ 's wiki article, anyway tomorrow if I have some time, I’ll write the wiki article on how to enable the authentication with my pull request, and how to create sessions with Steam listed on the Steam master server.

So the summary of your issue was that even after doing all the other steam dedicated server steps mentioned in this thread, your games were still not being listed because steam authentication was failing?

I do think the wiki will help many people wrap their heads around this whole process, thank you again for that [pull request](https://github.com/EpicGames/UnrealEngine/pull/2135)!

❤

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 7, 2016, 7:51pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/65 "2016-03-07T19:51:45Z")

</div>

> [@;488556](#):
>
> So the summary of your issue was that even after doing all the other steam dedicated server steps mentioned in this thread, your games were still not being listed because steam authentication was failing?
> 
> I do think the wiki will help many people wrap their heads around this whole process, thank you again for that [pull request](https://github.com/EpicGames/UnrealEngine/pull/2135)!
> 
> ❤

No, because you have to set bIsPresence to false when creating the session, otherwise you’ll create a Lobby session that isn’t listed on the Steam master server. The problem is that you can’t use BP functions, you must use the C++ Session functions and then call them from Blueprints if you need to.

---

<div class="post-metadata">

**Author:** ![motorsep](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/motorsep/32/918698_2.png) [@motorsep](https://forums.unrealengine.com/u/motorsep)\
**Post date:** [March 7, 2016, 8:04pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/66 "2016-03-07T20:04:49Z")

</div>

It would be nice if entire Stweamworks functionality was exposed to BPs.

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 7, 2016, 8:24pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/67 "2016-03-07T20:24:05Z")

</div>

> [@motorsep;488633](#):
>
> It would be nice if entire Stweamworks functionality was exposed to BPs.

Yes. The session nodes need to have more parameters.

---

<div class="post-metadata">

**Author:** ![eXi](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/exi/32/906583_2.png) [@eXi](https://forums.unrealengine.com/u/eXi)\
**Post date:** [March 8, 2016, 3:30am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/68 "2016-03-08T03:30:40Z")

</div>

“bIsPresence” was all you need to change? Because we already tried that (UE4 can’t handle the Lobby System of Steam or other way round, don’t remember) and it resulted in an “error” where Steam couldn’t handle  
the tags passed over.

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 8, 2016, 4:10am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/70 "2016-03-08T04:10:16Z")

</div>

> [@;488878](#):
>
> “bIsPresence” was all you need to change? Because we already tried that (UE4 can’t handle the Lobby System of Steam or other way round, don’t remember) and it resulted in an “error” where Steam couldn’t handle  
> the tags passed over.

Yes, now I’m writing the wiki article with all steps to get it working. If you set bIsPresence to false, the internet session functions are called, otherwise the lobby session functions are called.  
In the wiki article I’m including the Steamworks steps.

EDIT: Wiki article done: [A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums](https://wiki.unrealengine.com/Using_Steamworks_with_UE4)

---

<div class="post-metadata">

**Author:** ![eXi](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/exi/32/906583_2.png) [@eXi](https://forums.unrealengine.com/u/eXi)\
**Post date:** [March 8, 2016, 2:13pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/71 "2016-03-08T14:13:45Z")

</div>

Thanks mate (: highly appreciated. If someone, for example @, got some time to test this in a fresh project, that would be great.  
This should also work if you take the correct NAMES of the 480 Spacewar game, but if not, make sure to have a Game on Steam that you  
can test this with.

I’m off to GDC on Saturday morning, so i’m a not open at the moment. Once i’m back, i will test this (:

---

<div class="post-metadata">

**Author:** ![Zeb89](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Zeb89](https://forums.unrealengine.com/u/Zeb89)\
**Post date:** [March 8, 2016, 7:17pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/72 "2016-03-08T19:17:47Z")

</div>

Needless to say I’m very happy about how this turned out. We have our own App ID product on the Steam store and I can confirm this is working 100% 🙂

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 8, 2016, 8:46pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/73 "2016-03-08T20:46:51Z")

</div>

> [@;489128](#):
>
> Thanks mate (: highly appreciated. If someone, for example @, got some time to test this in a fresh project, that would be great.  
> This should also work if you take the correct NAMES of the 480 Spacewar game, but if not, make sure to have a Game on Steam that you  
> can test this with.
> 
> I’m off to GDC on Saturday morning, so i’m a not open at the moment. Once i’m back, i will test this (:

Yes, I converted my code to 4.11, because I’m using 4.10 now. So I don’t know if I made mistakes in the conversion. If someone reports a problem, I’ll do my best to fix that.

---

<div class="post-metadata">

**Author:** ![thevfxguy13](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thevfxguy13](https://forums.unrealengine.com/u/thevfxguy13)\
**Post date:** [March 11, 2016, 2:39am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/74 "2016-03-11T02:39:23Z")

</div>

What’s the best way to download the updated files? I’ve downloaded the Release branches several times from GitHub but never any code outside of that.

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [March 11, 2016, 2:30pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/75 "2016-03-11T14:30:21Z")

</div>

> [@thevfxguy13;490945](#):
>
> What’s the best way to download the updated files? I’ve downloaded the Release branches several times from GitHub but never any code outside of that.

You need to clone Unreal Engine from my pull request branch. Go to do that: [https://github.com/Scienziatogm/UnrealEngine/tree/release](https://github.com/Scienziatogm/UnrealEngine/tree/release)

Anyway I tried compiling and testing the last commit, and everything seems to work. I can see my server on the Steam master server, I can connect to it via console, and if I join without Steam with the authentication enabled, the server will kick me.

---

<div class="post-metadata">

**Author:** ![Rama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rama/32/882413_2.png) [@Rama](https://forums.unrealengine.com/u/Rama)\
**Post date:** [March 14, 2016, 4:38am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/76 "2016-03-14T04:38:39Z")

</div>

> [@Scienziatogm;488893](#):
>
> Yes, now I’m writing the wiki article with all steps to get it working. If you set bIsPresence to false, the internet session functions are called, otherwise the lobby session functions are called.  
> In the wiki article I’m including the Steamworks steps.
> 
> EDIT: Wiki article done: [A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums](https://wiki.unrealengine.com/Using_Steamworks_with_UE4)

Woohoo thank you for adding to the wiki Scienziatogm!

I do think this thread + wiki will help many people for a long time!

Rainbow for you!

![bfa91419e0fd6213bac45cdda91deb3489f82a95.jpeg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/b/f/a/bfa91419e0fd6213bac45cdda91deb3489f82a95.jpeg)

---

<div class="post-metadata">

**Author:** ![BanderDev](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/banderdev/32/1079759_2.png) [@BanderDev](https://forums.unrealengine.com/u/BanderDev)\
**Post date:** [April 8, 2016, 9:10pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/77 "2016-04-08T21:10:37Z")

</div>

Allright ,  
I used the newest Unreal Engine version + Pull Request.  
Compiled everything… Made a new game session class and I override the registerserver event()  
I followed the wiki and made everything step by step but it seems that the registerserver event doesn’t even get triggered or something.  
I debuged everything with UE\_LOG but nope event doesn’t get even triggered on startup of the server.

I don’t know what I did wrong maybe someone of you can help me…

Also seems like I get a compile error if I use HostSession = MakeShareable. Like he has no reference to it or something.  
I really need to get done with this … was working a week on it without any success.

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [April 8, 2016, 9:43pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/78 "2016-04-08T21:43:41Z")

</div>

> [@CLBander;509148](#):
>
> Allright ,  
> I used the newest Unreal Engine version + Pull Request.  
> Compiled everything… Made a new game session class and I override the registerserver event()  
> I followed the wiki and made everything step by step but it seems that the registerserver event doesn’t even get triggered or something.  
> I debuged everything with UE\_LOG but nope event doesn’t get even triggered on startup of the server.
> 
> I don’t know what I did wrong maybe someone of you can help me…
> 
> Also seems like I get a compile error if I use HostSession = MakeShareable. Like he has no reference to it or something.  
> I really need to get done with this … was working a week on it without any success.

You’ll need to tell to the GameMode what is your GameSession class:

MyGameMode.h

```auto

/** Returns game session class to use */
virtual TSubclassOf<AGameSession> GetGameSessionClass() const override;

```

MyGameMode.cpp

```auto

/** Returns game session class to use */
TSubclassOf<AGameSession> AMyGameMode::GetGameSessionClass() const
{
	return AMyGameSession::StaticClass();
}

```

---

<div class="post-metadata">

**Author:** ![BanderDev](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/banderdev/32/1079759_2.png) [@BanderDev](https://forums.unrealengine.com/u/BanderDev)\
**Post date:** [April 8, 2016, 10:10pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/79 "2016-04-08T22:10:23Z")

</div>

And what if the gamemode changes ingame?  
Like to my blueprint gamemode?

Also why is HostSession = MakeSharable marked as compile error?

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [April 8, 2016, 11:14pm UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/80 "2016-04-08T23:14:18Z")

</div>

> [@CLBander;509186](#):
>
> And what if the gamemode changes ingame?  
> Like to my blueprint gamemode?
> 
> Also why is HostSession = MakeSharable marked as compile error?

All gamemode custom classes must be child of a global gamemode custom class, so all properties from the global custom class are inherited.

---

<div class="post-metadata">

**Author:** ![BanderDev](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/banderdev/32/1079759_2.png) [@BanderDev](https://forums.unrealengine.com/u/BanderDev)\
**Post date:** [April 9, 2016, 12:11am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/81 "2016-04-09T00:11:29Z")

</div>

Thank god … I got it … The only issue I have is to setup the auth in my gamemode constructor:

SetupGamemode.h  
ASetupGamemode(const FObjectInitializer &ObjectInitializer);

SetupGamemode.cpp

ASetupGamemode::ASetupGamemode(const FObjectInitializer& ObjectInitializer)  
: Super(ObjectInitializer)  
{  
#if !UE\_EDITOR  
bUseAuthentication = true;  
#endif  
}

---

<div class="post-metadata">

**Author:** ![Scienziatogm](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/scienziatogm/32/906600_2.png) [@Scienziatogm](https://forums.unrealengine.com/u/Scienziatogm)\
**Post date:** [April 9, 2016, 3:01am UTC](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620/82 "2016-04-09T03:01:05Z")

</div>

> [@CLBander;509232](#):
>
> Thank god … I got it … The only issue I have is to setup the auth in my gamemode constructor:
> 
> SetupGamemode.h  
> ASetupGamemode(const FObjectInitializer &ObjectInitializer);
> 
> SetupGamemode.cpp
> 
> ASetupGamemode::ASetupGamemode(const FObjectInitializer& ObjectInitializer)  
> : Super(ObjectInitializer)  
> {  
> #if !UE\_EDITOR  
> bUseAuthentication = true;  
> #endif  
> }

You just need to enable that boolean. It’s easy.

[Previous page](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620.md?page=3)

[Next page](https://forums.unrealengine.com/t/dedicated-server-with-steam-is-a-joke/52620.md?page=5)
