Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

185 Neutral

1 Follower

About fredrum

  • Rank

Personal Information

  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I was planning to have my own server to do some things like keeping list of who is logged in and do matchmaking and possibly running a Raknet service to enable NAT punch for cross platform matchmaking, calculating ping maybe. I think at this point you guys have given me enough hints on how this stuff works and I now need to get someone involved who knows more about backend/networking design and programming to look into the actual API's/SDK's to see what is possible to do. Which wires can be plugged where. I also have to consider if I need these Backend services like Gamesparks or Playfab etc, at all. They do seem to have some useful features even for the free indy accounts and probably would speed development up compared to setting up your own database and other things. Having browsed the different documentations a bit more I have found some promising bits, but I still can't tell for certain what will work which is why I need a more experienced programmer to join the effort. Here's some tidbits that might help for someone else interested though I'm not sure this is the correct info ! Thanks everyone for all the advice. I'm very grateful! Cheers Fredrik Oculus: "The User Access Token is user-specific string that identifies a user and allows your back-end server to act on their behalf. The User Access Token is retrieved by sending a request to ovr_AccessToken_Get(). The token will be returned as a response. This token can be passed from the client to your backend." --- Part of the scheme to confirm the identity of a particular user in your backend. You can pass the result of ovr_User_GetUserProof() and a user ID from ovr_User_Get() to your your backend. Your server can then use our api to verify identity. 'https://graph.oculus.com/user_nonce_validate?nonce=USER_PROOF&user_id=USER_ID&access_token=ACCESS_TOKEN' OAuth: The steps below outline how to use the Resource Owner Client Credentials Grant Type flow to obtain an access token. Obtain credentials from your OAuth provider. At minimum you will need a client_id and client_secret. Fetch an access token from the provider. etc Playfab: (I started with Gamesparks but Playfab seems maybe a bit more open) "Correct - all the PlayFab core services are Web API based, so they work perfectly well from any device that can make an SSL call. " LoginWithCustomID: Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can subsequently be used for API calls which require an authenticated user POST https://{{TitleID}}.playfabapi.com/Client/LoginWithCustomID Content-Type: application/json X-Authentication: <user_session_ticket_value> { "CustomId": "67AB-5397-CC54-EA31", "CreateAccount": false, "TitleId": "1" } EDIT: Gamesparks supports something called QQ/Catalyst which seems like it might be OAuth based/compatible.
  2. Bummer. I thought maybe that sounded too easy. Yeah I wouldn't want to risk that suddenly breaking. even if they didn't do that to start with I suppose one could not be sure that they wouldn't introduce a system like that later. Shame that GS doesn't seem to support a 'generic OAuth2 federation' or any kind of generic auth system. It would make their platform much more open. But maybe they want that control over what other platforms are being used with it. Hmm...this seems more problematic than I thought. I might have to consider dropping GS since I was only going to use its user data storage and other smaller functions, not as game server per se. (im P2P) EDIT: I see that Playfab has OAuth support so maybe that is an option instead for me. I'll look into that. Although wouldn't oauth need to also support Oculus to be able to act as a middle man?
  3. This is probably a naive idea but would it be possible and secure to have a system where I automatically created logins for say GameSparks the first time a user played the game. For password I would ask Oculus for the access token (or some other token not sure) and I would use that or generate from that the password to use with that players new GameSparks account. Do you think that an Oculus access token would stay the same allways? Ie it wouldn't suddenly change into a different value?
  4. Ok that sounds interesting will definitely take a closer look then! Cheers!
  5. @ApochPiQ Thanks I'll check that one out to see if it fits! On first browse it seems interesting but do they need you to run requests through their servers? I am worried that I am starting to look at too many 3rd party server based solutions which will increase the chances of the 'chain getting broken'. Thanks I will read more to understand what OAuth2 provides. @Kylotan Gamesparks does have support for some platforms to convert or use their tokens for automatic GS auth. There's some info here, https://docs.gamesparks.com/documentation/key-concepts/authentication.html I have posted a question to their forum but they are not super active there and the answer I got seemed to be from someone not very technical so not sure if I will find out much more from them but maybe. My thread here (wrong terminology in headline ) : https://support.gamesparks.net/support/discussions/topics/1000084868
  6. Hi, I making a game to go onto the Oculus Home platform with the first version and possibly using GameSparks to do some of the backend things like storing player data and and keeping rankings lists etc. GS does have authorisation 'forwarding' for some platforms like Steam and Facebook but not yet for Oculus. It seems I need player accounts to do the data things I mentioned. As I really don't want to ask players to do a second login, (they're already logged in to Oculus) I was wondering if there's a general strategy for doing this securely? First I thought I could just generate accounts programmatically but then I realised that of course I need to store the generated passwords somewhere and it would be unsafe to store these on a server so now I'm not sure. Is there a way to do this? Maybe game sparks isn't a good solution in my case. Cheers Fredrik
  7. Thanks again hplus, your bullet point outline sounds like what I had in mind originally and I am leaning more and more towards that. I was thinking of adding something like GameSparks to the mix to receive player data I want to store, so that I wouldn't have to spend too much programming resource on that. (though it still needs work to do ofc)
  8. I am using Unreal. My first platform i most likely going to be Oculus but I am aiming to get to Steam as well at a later date, and I need players' from both platforms to be able to play each other due to small VR total player base.  Oculus have their own Online Subsystem plugin for Unreal. Would that remove the need for much of what the Epic guys was doing? (ignoring that chat client stuff, not relevant to me) I read in that thread I posted above, that another dev who is starting to test AWS server instancing says that it takes him 'a few minutes to spin up a server'.  That sounds a bit worrying. The Epic guy says that they keep a few instances started up and ready to get involved, the number of which based on number of players online and statistics.  That would take some time to get working and also that would up the cost/hours of uptime since you are constantly keeping a few running on empty. Might make sense for a big budget big name game like that but sounds like a risky and too optimistic approach for me maybe.
  9. Thanks for your reply. I'll continue ponder and research. I was told that Epic's game Paragon was using GameLift or something very similar (home made?) and found this forum post by an Epic dev. It seems like a lot of work, much more than I was anticipating. Maybe that is not all needed for a smaller startup indy game like mine, but I don't know? https://forums.unrealengine.com/showthread.php?112363-Few-questions-about-Paragon-lobby-and-game&p=549816&viewfull=1#post549816   Cheers, Fred
  10. Hi, I am getting to the point of my game where I have to start work on the server/matchmaking side of things. My game is a 2 player versus fighting game with short matches, 5-10 minutes each. Then possibly re-matchmake and play annother player. One of my main constrains is a minimal or non-existent budget. But I am putting in a lot of work myself I have worked fulltime for more than a year already and will do a bit more than another half year.   My original idea was to just have a master server to run a list of currently active players and that server would do the matchmaking and then players them self would take over, one being listen server and the other the client player. So I wouldn't need servers for the matches themselves.   Now the programmer that I am talking to to help with the networking is suggesting we use the Amazon GameLift system. This would instead be a master server model where the master server would run the game and both players would be clients to that. With this GameLift system, as I understand it,  the servers get 'spawned on demand', instanced into existence when a match starts and then shut down again afterwards. You are billed per hour of uptime + outgoing(from servers) data.   Ignoring that I would have to redo a lot of my replication work to work with master server model instead of p2p listen server, I cannot see what I would gain from using a system like GameLift? It seems more expensive, I calculate (pulling numbers out of the air) around 20usd per day, 5-7000 dollars per year with 10'000 copies sold and 100-250 game matches a day. I would be locked to Amazon. I'm not sure if ping would be better or worse? (maybe better average and worse minimum?)  Would it be slower to boot up a match as presumably the game itself would have to be copied to the instance and other stuff would need to happen. I would still need a 'listing server' to log online players and do the matchmaking?   Advantages might be, Less risk of cheating as master server would be running the game not one player. (this is a VR game so most players I think are into it for the experience, not just to win) NAT issues would be easier to solve. I could add spectating players more easily.     What do you folks think? Any opinions? EDIT:  Ooops just saw the GameLift post a bit further down, reading that now...   Cheers Fredrik
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!