Announcement

Collapse
No announcement yet.

UWorks (Steamworks C++/BP)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    MagicBots I didn't get a forum notification of your new reply :/

    There is a common error that occurs when copy-pasting the config section from the docs. This leads to the "+NetDriverDefinitions" line being split in 2 lines. Check that, make sure it's only one line and it will work.

    The "Token=xxx" line is meant to be used with persistent GameServer accounts ( https://steamcommunity.com/dev/managegameservers ). Typically, you don't need this and you should remove the entire line.

    Leave a comment:


  • replied
    I set up the Server and Client shortcuts like in your video. However, I'm having some trouble getting the server to show up on the 'internet' tab of steam servers. It's showing up under LAN but not internet.

    When I run the server launcher shortcut, I get this warning message in the log:
    [2018.07.03-06.41.32:021][149]LogUWorks: Warning: Attempted to get NetDriver information with no driver present.

    I copied and pasted from the documentation the ini setup into my games DefaultEngine.ini.

    but I get the same error.

    earlier in the log I also get this warning:
    Uworks, NetCL: 3944462, EngineVer: 2, GameNetVer: 0 (Checksum: 599446548)
    Warning: Read Token: Bad quoted string
    ImportText (NetDriverDefinitions): Bad quoted String at:

    I still have the token set to 'xxx' as was in the documentation.

    Token=xxx

    I'm assuming this is the issue? If so, what am I supposed to put for the Token ID? (yes, i'm that new to setting up steam)
    Anything else I might be missing for getting the Server to show up on the internet tab?
    I took screen grabs of the full error, and warnings. If those are helpful, I can PM you those.

    BTW I'm starting from a blank blueprint project for 4.19, and just enabled the plugin.

    Leave a comment:


  • replied
    Originally posted by vlad.serbanescu11 View Post

    Hey!

    The current docs don't have a "quick start" guide, but I'm aware of it and will fix with the next docs overhaul.

    The steps you need to take:

    - Set the "GameInstance" to UW-GameInstance.
    - Set the "Default Game Map" to UW-Menu.
    - Set the "Default Server Map" to UW-Match.

    Then, it will work just like in the pictures, when run in standalone or from a shortcut, to simulate dedicated servers. You don't need to do anything with the UW-GameMode BP. It's embedded in the UW-Match level by default and that is the only place where it's relevant.
    Looks like I just missed setting the game instance class. Working now, thanks!

    Leave a comment:


  • replied
    Originally posted by MagicBots View Post
    Hi I just purchased the plugin. Sorry if I missed it somewhere, but is there a step by step guide to getting a first working example going? I'm primarily interested in setting up a dedicated server, and connecting to it.

    I enabled the plugin content and set the game mode to the game mode in there, set the level to the demo level and tried a stand alone launch, but the menu is blank. Just trying to get to that first working out of the box example that i can then draw from. I probably just missed the quick start or setup link somewhere, but could someone point me to it.. looked around for an hour or so now.
    Hey!

    The current docs don't have a "quick start" guide, but I'm aware of it and will fix with the next docs overhaul.

    The steps you need to take:

    - Set the "GameInstance" to UW-GameInstance.
    - Set the "Default Game Map" to UW-Menu.
    - Set the "Default Server Map" to UW-Match.

    Then, it will work just like in the pictures, when run in standalone or from a shortcut, to simulate dedicated servers. You don't need to do anything with the UW-GameMode BP. It's embedded in the UW-Match level by default and that is the only place where it's relevant.

    Leave a comment:


  • replied
    Hi I just purchased the plugin. Sorry if I missed it somewhere, but is there a step by step guide to getting a first working example going? I'm primarily interested in setting up a dedicated server, and connecting to it.

    I enabled the plugin content and set the game mode to the game mode in there, set the level to the demo level and tried a stand alone launch, but the menu is blank. Just trying to get to that first working out of the box example that i can then draw from. I probably just missed the quick start or setup link somewhere, but could someone point me to it.. looked around for an hour or so now.

    Leave a comment:


  • replied
    Originally posted by skeeta92 View Post
    Has anybody been able to get voice chat working?
    skeeta92 The previous forum page and the Discord are full of this question that you keep asking without telling what your problem actually is. I, and others, have pulled your tongue on Discord, trying to help out.

    There are a number of people who got it working. There used to be a rare crash when playing voice, but I've fixed it a few versions ago and that was the only problem with voice chat.

    A sum up for everyone reading this: the plugin allows you to capture microphone data using Steam's codec (it's not a 5/5 stars codec, the one used by OnlineSubsystemNull is probably more high quality; I may change it to use Steam Audio someday) and it also provides an interface for sending P2P data. How everyone designs their solution is their choice. I'm not here to hard-code my particular voice chat solution.

    Originally posted by shadoow2213
    Does this plugin support NAT puncthrough and STUN yet, so businesses or a handful of people can join without port-forwarding?
    which version would be best for this?
    shadoow2213 Yes, it supports NAT punch-through via Steam's own library, which relies on STUN/TURN/ICE based on Steam's servers. On top of that, I added my own STUN communication so that I may display the external IP to developers, because Steam doesn't display it. Punch-through has been working since V08+ (right now it's at V12).

    Leave a comment:


  • replied
    Has anybody been able to get voice chat working?

    Leave a comment:


  • replied
    I got plugin and it is great! It allows you to do every single thing that SteamWorks API would allow you to. Definitely recommend it, and especially now because it is on sale!

    Leave a comment:


  • replied
    First of all, sorry for the delay guys, I didn't get notified of your replies.

    Originally posted by Zenteran View Post

    Hah, good to know someone else is getting gaslit trying to fix VoIP bugs... you'd think the UE4 Voip system would fully hand off to the audio system before playback, but I guess that's not how it's built =/ Thanks for the response.

    Another follow-up: Would UWorks help with my frustrations regarding "Party" vs "Game" Steam sessions? Ideally I'd have dedicated servers, but even being able to distinguish between "Lobby" listen servers and "Game" listen servers would be useful. Seemed like OSS uses Party/Presence exclusively for full-on game sessions unless you source build the Engine, and I was hoping to avoid that if possible.
    Yes, that part is a bit tangled in OSS, but in UWorks, you can create your solution exactly the way you like. Steam GameServers work as expected in any scenario, as far as I am aware. Since there is no limit to how many Steam lobbies a user can join at the same time, you can use them for parties and disregard OSS completely (the "experimental" OSU module also uses them in the back).

    Originally posted by axiao View Post
    Hi Vlad,
    Great plugin, very comprehensive. Although I'm running into some trouble setting it up for my project, here's the problem:
    1. I followed the tutorial and added a section call [UWORKS] in my defaultengine.ini and added my appid (this is given by Valve since my app appears to be approved on steam so I can generate auth token and receive my appid)
    2. When I use get leaderboard for game, I was able to put in my auth token and my appid and found the leaderboard, the print statement prints the title of the board as well as ID and sorting method.
    3. The problem occurs when I try to set score, I put in the same auth ID and appid but I get the weird error message "bad request appid invalid".
    4. When I switched teh appid to 480, the overlay works, but when I use my own appid, no overlay
    5. After googling the problem, I found a similar thread about appid (https://forums.unrealengine.com/comm...id-not-working) so now I'm wondering if there's something wrong with my config? or if my steam account isnt setup properly? I've contacted steam about not seeing a dev package in the package list, but figure I should ping you and see if we can isolate the problem.

    Thanks!

    <<EDIT>>
    Looks like it was Steam's issue. I've followed the steps suggested in the other thread and contacted steam. Got my game uploaded to the depot and launched once from Steam. Now Play in Stand Alone Game is properly connected to steam. Everything seems to click, I can get leaderboard and most importantly set entries!

    Really great plugin, worth the dollar!
    Thanks! Let me know if there's anything broken!

    Again, sorry for the delayed response to both of you!


    Versions 19-12 and 18-12 are now live on Gumroad and submitted to Epic! You can find the updated documentation here: https://www.dropbox.com/s/wi7lused6i...ation.pdf?dl=1

    The main objectives of this version were:

    - Fixing an important error which caused inconsistent behavior in callbacks.
    - Decoupling the subsystem from the core module, required for the upcoming split.
    - Updating the example project to showcase server registration via the subsystem.
    - Updating the GameServer example to showcase connecting.

    I should have noticed and fixed the above-mentioned error slightly faster, but I got arrogant and ignorant when it was brough to my attention. Therefore, I apologize and thank @Zrma for insisting as needed.

    I have also updated the packaged example project, which you can find here: https://www.dropbox.com/s/enj58np3sq...mples.zip?dl=1

    Leave a comment:


  • replied
    Hi Vlad,
    Great plugin, very comprehensive. Although I'm running into some trouble setting it up for my project, here's the problem:
    1. I followed the tutorial and added a section call [UWORKS] in my defaultengine.ini and added my appid (this is given by Valve since my app appears to be approved on steam so I can generate auth token and receive my appid)
    2. When I use get leaderboard for game, I was able to put in my auth token and my appid and found the leaderboard, the print statement prints the title of the board as well as ID and sorting method.
    3. The problem occurs when I try to set score, I put in the same auth ID and appid but I get the weird error message "bad request appid invalid".
    4. When I switched teh appid to 480, the overlay works, but when I use my own appid, no overlay
    5. After googling the problem, I found a similar thread about appid (https://forums.unrealengine.com/comm...id-not-working) so now I'm wondering if there's something wrong with my config? or if my steam account isnt setup properly? I've contacted steam about not seeing a dev package in the package list, but figure I should ping you and see if we can isolate the problem.

    Thanks!

    <<EDIT>>
    Looks like it was Steam's issue. I've followed the steps suggested in the other thread and contacted steam. Got my game uploaded to the depot and launched once from Steam. Now Play in Stand Alone Game is properly connected to steam. Everything seems to click, I can get leaderboard and most importantly set entries!

    Really great plugin, worth the dollar!
    Last edited by axiao; 06-01-2018, 03:39 AM.

    Leave a comment:


  • replied
    Originally posted by vlad.serbanescu11 View Post

    I haven't look into 4.19's VOIPTalker yet, but I assume it's an OnlineSubsystem-specific thing, particularly specific to the OnlineVoiceInterface class. In that case, no, I haven't got to that yet.

    However, the UWorksCore module (the plugin has 3 module and 1 full example project; the Core module is the only one I'm currently advertising "officially") supports voice chat by using the raw Steam SDK in conjunction with replication/RPCs and/or Steam's own networking interface. It's also worth mentioning that playing voice seemed to have a very unpredictable bug, which I think I fixed in V11 (6th or 7th attempt), but this particular bug was something I was never able to replicate on my end so I can't say for sure.

    EDIT: MPC is an OnlineSubsystem framework used internally at Epic. It consists of proprietary code that they use for games such as UT, where the developers had been distributing it for ages, despite not being allowed to.
    Hah, good to know someone else is getting gaslit trying to fix VoIP bugs... you'd think the UE4 Voip system would fully hand off to the audio system before playback, but I guess that's not how it's built =/ Thanks for the response.

    Another follow-up: Would UWorks help with my frustrations regarding "Party" vs "Game" Steam sessions? Ideally I'd have dedicated servers, but even being able to distinguish between "Lobby" listen servers and "Game" listen servers would be useful. Seemed like OSS uses Party/Presence exclusively for full-on game sessions unless you source build the Engine, and I was hoping to avoid that if possible.

    Leave a comment:


  • replied
    Originally posted by Zenteran View Post
    Woh, if networking/sessions are stable, I'm definitely gonna give this another look.

    Would you know if 4.19's VOIPTalker (spatialized VoIP) feature works with UWorks? It's known to not work with OSS—only OnlineSubsystemNull and "MCP" (whatever that is) were confirmed to be supported.
    I haven't look into 4.19's VOIPTalker yet, but I assume it's an OnlineSubsystem-specific thing, particularly specific to the OnlineVoiceInterface class. In that case, no, I haven't got to that yet.

    However, the UWorksCore module (the plugin has 3 module and 1 full example project; the Core module is the only one I'm currently advertising "officially") supports voice chat by using the raw Steam SDK in conjunction with replication/RPCs and/or Steam's own networking interface. It's also worth mentioning that playing voice seemed to have a very unpredictable bug, which I think I fixed in V11 (6th or 7th attempt), but this particular bug was something I was never able to replicate on my end so I can't say for sure.

    EDIT: MPC is an OnlineSubsystem framework used internally at Epic. It consists of proprietary code that they use for games such as UT, where the developers had been distributing it for ages, despite not being allowed to.

    Leave a comment:


  • replied
    Woh, if networking/sessions are stable, I'm definitely gonna give this another look.

    Would you know if 4.19's VOIPTalker (spatialized VoIP) feature works with UWorks? It's known to not work with OSS—only OnlineSubsystemNull and "MCP" (whatever that is) were confirmed to be supported.

    Leave a comment:


  • replied
    Originally posted by JohnnyZer0 View Post
    Hi! First of all, I want to tell you that I am impressed by this great plugin. It is making the Steam integration much easier, as for some, asynchronous programming is a real hassle and this makes it very easy in Blueprints. Thank you for the work! Secondly, I've been looking over this thread for almost an year, and I finally decided to write, as I see you are going to release v12, the update that introduces UWorks Subsystem. I have a few questions before making the decision to buy this, as $109 dollars are not easy to spend after $100 on Steam Direct hehe. How is the new plugin going to work? I understand that Multiplayer has something, Singleplayer has something, but what does the subsystem part include? And would you recommend this for a P2P game?

    Tine-o tot asa! (Keep up the good work!)

    EDIT: I have one more question. If I buy the plugin in the close future, I will get the future updates with the subsystem etc., right?
    Actually V11 introduced the subsystem. V12 will address some now-apparent bugs in the subsystem (to be expected, I guess).

    The subsystem edition will exclusively the subsystem module. This means developers will be able to set it in the config and nothing more. No BP nodes, no additional functionality. It's meant for people who want to use Advanced Sessions (or C++ or something similar) with UE4's regular framework (Create/Join/Find etc.).

    Given the bugs (inconsistencies) I've discovered yesterday in V11, I wouldn't recommend it just yet (probably in V12). Listen servers (technically P2P assumes a decentralized architecture; "listen" is more correct) have been a pain ever since V01.

    Aaaaand yes, future updates are always included.

    Leave a comment:


  • replied
    Hi! First of all, I want to tell you that I am impressed by this great plugin. It is making the Steam integration much easier, as for some, asynchronous programming is a real hassle and this makes it very easy in Blueprints. Thank you for the work! Secondly, I've been looking over this thread for almost an year, and I finally decided to write, as I see you are going to release v12, the update that introduces UWorks Subsystem. I have a few questions before making the decision to buy this, as $109 dollars are not easy to spend after $100 on Steam Direct hehe. How is the new plugin going to work? I understand that Multiplayer has something, Singleplayer has something, but what does the subsystem part include? And would you recommend this for a P2P game?

    Tine-o tot asa! (Keep up the good work!)

    EDIT: I have one more question. If I buy the plugin in the close future, I will get the future updates with the subsystem etc., right?
    Last edited by JohnnyZer0; 05-29-2018, 08:04 AM.

    Leave a comment:

Working...
X