Painless Multiplayer

Discussion in 'Other' started by ApisRex, Dec 16, 2013.

  1. ApisRex

    ApisRex Subatomic Cosmonaut

    I have port forwarding set up properly, but every attempt to connect to a server I host simply fails to work without using Hamachi. Worse, the attempts fail without even producing a useful error message - just "The attempt to connect to [IP] has failed" after a few seconds of the client freezing up.

    While I loathe Hamachi and would rather the default method just worked properly, even the default method feels a bit... archaic.

    Let me preface this suggestion by saying I don't know how feasible this is or whether or not it would be easily implemented. It's just an idea, a description of what would be nice to have since the DRM-free version means there likely won't be easy, convenient Steamworks integration along the lines of "invite [some guy on your friends list] to your game".

    Rather than opening a distinct server, a character in-game should be able to send an invite to a character name at a certain IP address. If both players are online and on their ships, the player on the other end should get a notification along the lines of "so-and-so has invited you to explore! Would you like to join?", and accepting it would result in both ships being put into the interstellar travel animation with the exception that items on board each ship cannot be interacted with during the transition. When both ships exit hyperspace, both players would be on the back-end server using the save data of the player that initiated the party to populate its universe. Adding multiple players would work much the same way, except that the travel animation wouldn't be initiated until all players accept the invite. Should any of the invites be declined, the game should indicate who declined (maybe with an option to say why) and allow the player to re-send the invite. This should not require either party to adjust their routers to handle port forwarding as not every player has admin rights over their router home router (the friend who bought me the game, for example, uses a router provided by his cable company, and its administration is handled remotely by his cable company's tech support).

    In order to ensure that hosting persistent servers (say, if someone mods the game into a pseudo MMO) is still viable and to support power-users that have a compelling reason to use the independent client directly, the current server client should of course still exist. I just think that I'm probably not alone in placing ease and stability of connection above absolutely everything else in the muliplayer components of a game and there should be an option that doesn't require jumping through a ton of technical hoops just to putter around the universe stripping planets of their resources.
     
  2. Fusioneko

    Fusioneko Phantasmal Quasar

    Sadly, to keep the game in the open-moddable state. It's best not to slip in to much of steamworks into the client-server networking. This allows users to employ custom changes to the server software, and the community to grow- and evolve. Much like minecraft did. However minecraft didn't need Steam at all.

    I think the problem you're having occurs due to a ISP block, or a faulty router or modem. Some modem/router combinations are terrible. And if you happent o have a modem that acts as a router. I've heard- and dealt with in my career many support issues such as .. portforwarding not working.

    In these instances, Replace modem, with a dedicated modem if it is a router/modem combo. Acquire router. Of course this is after you've assumed it is not your computer. If your say modem or router has DMZ. You can try employing that. I don't think painless multiplayer is a goodidea. Since it already uses UPNP (Which should negate portforwarding for most people.) Which does most of the work- for most modern routers. Surprisingly. I can't say it's completely effectively however.
     
  3. ApisRex

    ApisRex Subatomic Cosmonaut

    I didn't mean this to be a tech support thread though I do appreciate your help (unfortunately, it's not in my power to replace my modem as it is the most current version that my ISP provides), and I did acknowledge that Steamworks is a non-option, though more because a nontrivial chunk of the playerbase will not be playing the game on Steam.

    All I'm getting at is that as it stands, getting multiplayer working right now is a total headache and for many users the only way to make it work is to either rent dedicated server space or play over Hamachi. This isn't normal for a game. In fact, the only other game I can think of that has similar problems is Terraria, which broke the ability of my friends and I to host servers without Hamachi in patch 1.1.

    As I said, the dedicated server client should remain available for modding purposes and for loading onto dedicated persistent servers... but most people just want to launch this awesome game, ping their buddies, and get exploring without any of this excessively complicated and absolutely unnecessary extra stuff. Painless multiplayer for people that just want the thing to work without putting time and effort into troubleshooting connection issues then ultimately giving up because it's just too much of an irritation to be worth the effort.
     
  4. Fusioneko

    Fusioneko Phantasmal Quasar

    Well I understand that, It would be nice if there were better options. But I think this option is the best for the game to grow. If it had something more akin to what I beleive you were proposing. It would be difficult to create a dedicated server. Well Perhaps not, but you'd have another device negotiating and doing the talking for you. And when steam goes down- or you lose connection to steam in this case. (We all know what happens, we get kicked from server connections)

    Happens sometimes. Also, for the record. You can buy your own modem to replace the one your ISP provides. It's typically a good idea to buy one your ISP supports, and they usually have a list of what is usable. But if money is a problem. You can always do the math of rented modem for us is $74 a year. They usually last two years. A modem costs $80-$90 That's always an option for ya. Also if you happen to have a ARRIS modem, may whatever deity have mercy on ya. Latest wall in my life.

    So sorry I couldn't provide anything constructive or helpful related to the suggestion. Figured I could do something, but it didn't quite turn out as planned.
     
  5. ApisRex

    ApisRex Subatomic Cosmonaut

    Except what I'm proposing doesn't add in any intermediary. It's still direct player-to-player connection, just with netcode optimized for connecting without requiring an abnormal router setup and a UI to handle it in-game. Steam going down shouldn't be a problem because the connection would have nothing to do with Steam. The system should work just fine as well for players using the Steam-free version of the game that will be available closer to launch. I'm also explicitly proposing that the dedicated server client remain an option for people that want to use it for things like hosting persistent servers. This would just be an option that would discretely handle as much as possible without requiring any visible adjustments on the user's end that would NOT replace the option of players connecting directly to a server client hosted on a machine that isn't actually running the main game client.
     
    Last edited: Dec 16, 2013
  6. Fusioneko

    Fusioneko Phantasmal Quasar

    And I understand that. As someone who works to develop applications, or at least push ideas in my general department of work. It's a really difficult thing for me to imagine a way without an intermediary. Starcraft, and I believe Warcraft 3 did it. The way you're proposing is.. Peer-to-peer. The one suitable to host the world, insantly becomes the host. If that is what you mean. To play amongst friends, it just means only at least one person must have accessible ports.

    Still how would propose handling the idea? At least one player will have to have direct access to t he other. So..I'm trying to help really. (And hey, posting also gives your post you know traffic as it's pushed up.)
     
  7. ApisRex

    ApisRex Subatomic Cosmonaut

    Well, as I said in the original post I don't know for sure how this would be done or how much work would be necessary to smooth over peer-to-peer connections. From my limited understanding (I am not a developer), there are some peer-to-peer applications that check for a range of ports to get a match rather than requiring one specific port to work. I also vaguely recall reading while researching my issues with Terraria that there's a fairly wide range of common-use ports that allow most routine traffic anyways, though I could easily be wrong on that or misremembering something.

    If someone has a more qualified idea of how connecting in multiplayer could be streamlined I'd love to see it brought forward.
     
  8. Fusioneko

    Fusioneko Phantasmal Quasar

    I'll pass this over to an Engineering friend of mine. They're miles better than me at this sort of thing. So if anybody knows a solution it would be someone in the engineering field. Or something. If he comes with a reply, I'll be sure to share it.
     

Share This Page