Multiplayer Mod Update

SunrunnerSunrunner Join Date: 2017-06-04 Member: 230946Members
Hello Everyone,

You may have saw the multiplayer mod that I have been working on in a previous thread, if not, then here is the link:


I wanted to provide an update on some of the things that I've been working on. Here are a few new videos for your viewing.

Item Syncing:
Base Building:

As stated in the previous thread, I'm interested in collaborating with other programmers. Feel free to shoot me an im to discuss the project.
«1345678

Comments

  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    edited January 2018
    Awesome!

    EDIT: For those curious, the github referenced later in this thread can be found below; the how-to setup instructions are after that.
    Sunrunner wrote: »
    Hello Everyone,

    As promised, I've opened up the source of the project to allow community contributors. Please find the source code here:
    https://github.com/SubnauticaNitrox/Nitrox

    Additionally, I started a basic Trello to log action items:
    https://trello.com/b/ftPCv2DL/subnautica-nitrox

    Feel free to reach out to me with any questions.

    Get started how-to, pulled from here:
    Please be aware that this mod is in it's early stages of development, and that the steps below are to set up a development environment for Nitrox. These steps are not for a regular install of this mod. We discourage the use of this mod for casual play until a stable public release has been made.
    1. Pull git repository locally;
    2. Load .sln inside visual studio;
    3. Build entire solution to generate binaries;
      • If your Subnautica installation folder is not located in the usual folder (C:\Program Files (x86)\Steam\steamapps\common\Subnautica), a file called DevVars.targets will be generated in the solution directory where an alternative path can be set up. If this file is present, this location will be used regardless of the usual folder.
    4. Inject NitroxPatcher into Assembly-CSharp:
      1. Load up dnspy;
      2. Find a suitable method that gets executed before the actual game starts(GameInput Awake());
      3. Inject startup code: NitroxPatcher Main.Execute().
    5. Run NitroxServer project;
    6. Start Subnautica;
    7. Verify Subnautica logs Subnautica/Subnautica_Data/output_log.txt (Search for nitrox / verify no errors)
    8. Type in the console command mplayer playername [ip] (defaults to localhost);
    9. Validate server console output.

    EDIT2: Also, the Subnautica Modding Discord Server is here: https://discord.gg/9MfKs2s
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    OMG, already syncing !? You did fast !

    What's the next step ? Skin ?
  • Casual_PlayerCasual_Player That...is a really good question Join Date: 2016-08-30 Member: 221875Members
    @Sunrunner, I don't know if you tried yet, but on the current version of your mod, is it possible for a second player to finish building something the first player started, but didn't finish? I couldn't get the idea if that is possible from the video you posted.
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    @Sunrunner, I don't know if you tried yet, but on the current version of your mod, is it possible for a second player to finish building something the first player started, but didn't finish? I couldn't get the idea if that is possible from the video you posted.

    It look like the game knows that a building has been done, should not be really harder to see in progress building (and maybe complete it)
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    Sunrunner wrote: »
    @Sunrunner, I don't know if you tried yet, but on the current version of your mod, is it possible for a second player to finish building something the first player started, but didn't finish? I couldn't get the idea if that is possible from the video you posted.

    Yes, my mod will send an update to players each time a resource is used when constructing. Players can finish constructing partially constructed entities.

    AWESOME !

    I was wondering about beacons and signals; Will it be also sync ?
    I dropped a beacon at the lost river entrance, will my friend see it ?
    Maybe need a color per player, I would be red, my friend orange. We could easily tell who place that beacons. And identified which seamoth too.
  • TIEbomber1967TIEbomber1967 California Join Date: 2015-09-23 Member: 208109Members
    edited June 2017
    Sunrunner wrote: »
    Yes, my mod will send an update to players each time a resource is used when constructing. Players can finish constructing partially constructed entities.
    Interesting...
    This works well if players work cooperatively, BUT what if they don't? What if your friends are butt-heads that de-construct your stuff for the resources? Or go into your base and raid your storage cabinets? Have you considered anything to prevent this type of thing, some type of security? Perhaps adding a number-pad at your hatch so that only people with the correct access code can enter. Of course then they could just add their own hatch to your base and still get in.
    You can't always assume cooperative play, some security needs to be put in place to prevent butt-heads from doing butt-headed things!
    And yes, good work sir. Well done!
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    @TIEbomber1967 True people can be .. "butt-heads" as you say but it is too early for Sunrunner too even think about this


    The simpliest way to deal with that .. Well, play a coop games with friend not butt-heads ..
    The mod (probably) won't go toward open public server but rather private ip-connected server (whitelisted ? or Steam friend list) - Yes, someone could still create and publicly share his server.


    But if people insist and/or @Sunrunner thinks it's necessary, I would (re)suggest : Player color-coded.

    I would be blue and invite my friend A to join my blue team. Player B & C being in red team.
    We could still cooperate in every ways except creating and using other team's bases.


    Still, that's a lot to do and I think there is better stuff to do first.
  • Casual_PlayerCasual_Player That...is a really good question Join Date: 2016-08-30 Member: 221875Members
    Wiirlak wrote: »
    @TIEbomber1967 True people can be .. "butt-heads" as you say but it is too early for Sunrunner too even think about this


    The simpliest way to deal with that .. Well, play a coop games with friend not butt-heads ..
    The mod (probably) won't go toward open public server but rather private ip-connected server (whitelisted ? or Steam friend list) - Yes, someone could still create and publicly share his server.


    But if people insist and/or @Sunrunner thinks it's necessary, I would (re)suggest : Player color-coded.

    I would be blue and invite my friend A to join my blue team. Player B & C being in red team.
    We could still cooperate in every ways except creating and using other team's bases.


    Still, that's a lot to do and I think there is better stuff to do first.


    This already brings ideas for future modes:
    -Competitive: First team to complete an objective wins, like leaving the planet
    -Et tu, Brutus?: Single team, but only one survivor. Make it so no one discovers your hand at the deed

    and some more. This mod is barely walking, and the possibilities are simply coming!
    @Sunrunner, look at what you have spawned!!! :D
  • phantomfinchphantomfinch West Philadelphia , born and raised on the playground is where I spent most of my days. Join Date: 2016-09-06 Member: 222128Members
    @Sunrunner I imagine we have to dust off the old himatchi server for this or does it only work though LAN at the moment?
  • nesrak1nesrak1 Places Join Date: 2016-12-04 Member: 224536Members
    @phantomfinch The way networking works, 127.0.0.1 is an ip just like 23.82.590.29.
    If it works on lan, it most likely works on a public ip too.
    (also hamachi ._.)

    ᵖᶠ ᶠᵒʳ ˡʸᶠᵉ
  • phantomfinchphantomfinch West Philadelphia , born and raised on the playground is where I spent most of my days. Join Date: 2016-09-06 Member: 222128Members
    edited June 2017
    nesrak1 wrote: »
    @phantomfinch The way networking works, 127.0.0.1 is an ip just like 23.82.590.29.
    If it works on lan, it most likely works on a public ip too.
    (also hamachi ._.)

    ᵖᶠ ᶠᵒʳ ˡʸᶠᵉ

    Don't dis himatchi, If it wasn't for that then my minecraft and terraria.....
    Oh god
    Screen_Shot_2012-09-13_at_9.39.39_AM.png


    Also not LAN stands for local area network, basicly a network that would use the same wifi. The IP is the registered address of the WiFi router, if I remember secondly school computing correctly
  • SunrunnerSunrunner Join Date: 2017-06-04 Member: 230946Members
    Lots of great questions. I'm glad to open up more discussion in the community about modding.
    Wiirlak wrote: »
    I was wondering about beacons and signals; Will it be also sync ?
    I dropped a beacon at the lost river entrance, will my friend see it ?
    Maybe need a color per player, I would be red, my friend orange. We could easily tell who place that beacons. And identified which seamoth too.

    Beacons will be shared between players. They are not currently colored but we can think about doing that.
    This works well if players work cooperatively, BUT what if they don't? What if your friends are butt-heads that de-construct your stuff for the resources? Or go into your base and raid your storage cabinets? Have you considered anything to prevent this type of thing, some type of security? Perhaps adding a number-pad at your hatch so that only people with the correct access code can enter. Of course then they could just add their own hatch to your base and still get in.
    You can't always assume cooperative play, some security needs to be put in place to prevent butt-heads from doing butt-headed things!
    And yes, good work sir. Well done!
    Honestly, I have not put any thought into none-cooperative play at this time. The mod is really meant for tight-knight groups to play together. However, that does not mean that we can't add the concept of item ownership and cooperative server configurations later.
    @Sunrunner I imagine we have to dust off the old himatchi server for this or does it only work though LAN at the moment?
    All of the videos are shot with two players over the internet. No Himatchi required :)
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    Sunrunner wrote: »
    All of the videos are shot with two players over the internet. No Himatchi required :)
    By some dark magic, @Sunrunner already did the best we could hope.

    I guess the mod is used on the latest stable version.
    How much work is there to be use on another version ?
    Should it be the next stable (21 June) or to go in experimental.
  • Casual_PlayerCasual_Player That...is a really good question Join Date: 2016-08-30 Member: 221875Members
    Wiirlak wrote: »
    Sunrunner wrote: »
    All of the videos are shot with two players over the internet. No Himatchi required :)
    By some dark magic, @Sunrunner already did the best we could hope.

    I guess the mod is used on the latest stable version.
    How much work is there to be use on another version ?
    Should it be the next stable (21 June) or to go in experimental.

    I have a friend who needs to work with basic software engineering, and talking with him, I'm convinced that what makes computers tick, all of them, is pure and simple black magic :)

    So, that means @Sunrunner is a Warlock or something like that?
  • WiirlakWiirlak Blaton Join Date: 2017-05-26 Member: 230772Members
    @Casual_Player I have done a few very smalls games and mods on a handfull of games. I can tell you, black magic is indeed practise.
    A code line doesn't work, can't find why after a full hour of tweaking .. Delete completely the line and rewrite it exactly as it was *POOF* It works !
  • gamer1000kgamer1000k Join Date: 2017-04-29 Member: 230121Members
    edited June 2017
    Wiirlak wrote: »
    @Casual_Player I have done a few very smalls games and mods on a handfull of games. I can tell you, black magic is indeed practise.
    A code line doesn't work, can't find why after a full hour of tweaking .. Delete completely the line and rewrite it exactly as it was *POOF* It works !

    I've run into similar things. Usually it's some sort of nonprinting character from a bad copy/paste (microsoft word and many websites put weird characters in sometimes) or accidentally holding shift while pressing space or enter.

    IMHO, the real black magic comes in with signal processing. Reading up on how the radio in a wireless router or LTE device works makes my head hurt.

    Anyways, obligatory quote whenever this topic comes up:

    Any sufficiently advanced technology is indistinguishable from magic.
    -Arthur C. Clarke
  • Casual_PlayerCasual_Player That...is a really good question Join Date: 2016-08-30 Member: 221875Members
    gamer1000k wrote: »
    Wiirlak wrote: »
    @Casual_Player I have done a few very smalls games and mods on a handfull of games. I can tell you, black magic is indeed practise.
    A code line doesn't work, can't find why after a full hour of tweaking .. Delete completely the line and rewrite it exactly as it was *POOF* It works !

    I've run into similar things. Usually it's some sort of nonprinting character from a bad copy/paste (microsoft word and many websites put weird characters in sometimes) or accidentally holding shift while pressing space or enter.

    IMHO, the real black magic comes in with signal processing. Reading up on how the radio in a wireless router or LTE device works makes my head hurt.

    Anyways, obligatory quote whenever this topic comes up:

    Any sufficiently advanced technology is indistinguishable from magic.
    -Arthur C. Clarke

    POOF

    magic
  • TarkannenTarkannen North Carolina Join Date: 2016-08-15 Member: 221304Members
    gamer1000k wrote: »
    Anyways, obligatory quote whenever this topic comes up:

    Any sufficiently advanced technology is indistinguishable from magic.
    -Arthur C. Clarke

    POOF

    magic

    YsbKHg1.gif
  • phantomfinchphantomfinch West Philadelphia , born and raised on the playground is where I spent most of my days. Join Date: 2016-09-06 Member: 222128Members
    Tarkannen wrote: »
    gamer1000k wrote: »
    Anyways, obligatory quote whenever this topic comes up:

    Any sufficiently advanced technology is indistinguishable from magic.
    -Arthur C. Clarke

    POOF

    magic

    YsbKHg1.gif

  • DragoWhoovesDragoWhooves UK Join Date: 2017-05-30 Member: 230836Members
    nesrak1 wrote: »
    @phantomfinch The way networking works, 127.0.0.1 is an ip just like 23.82.590.29.
    If it works on lan, it most likely works on a public ip too.
    (also hamachi ._.)

    ᵖᶠ ᶠᵒʳ ˡʸᶠᵉ

    not to be a nerd but 127.0.0.1 is a loopback, you tell your friend to join your server at 127.0.0.1, but you can tell him to join 23.82.590.29 (plus whatever port forward you have if needed)

    also @Sunrunner would this mod work with IPv6 or with DNS lookup?
  • SAPH3RESAPH3RE Join Date: 2016-04-18 Member: 215908Members
    Huh, the guy is only doing a black orb, showing where the player is, I don't really see him modifying or editing the base, just a black orb staying still. I like how they are doing the multiplayer, but please leave it to the devs, since it will make this easier, I've seen different types of games with multiplayer made by users, however NONE of them lived to their fullest for hundreds of reason. Just, please leave it to the devs since they already confirmed they're doing it:
    https://trello.com/c/vNZEbIUe/170-make-scanner-room-more-useful-range-etc
  • cdaragorncdaragorn Join Date: 2016-02-07 Member: 212685Members
    @SAPH3RE There is no confirmation from the devs that multiplayer will ever be in the game. Even if they do do it, it's going to be a long wait. There's no reason to beat down a modder for putting in a basic multiplayer mod.
    @Sunrunner This is awesome! Thank you for making this work!
  • phantomfinchphantomfinch West Philadelphia , born and raised on the playground is where I spent most of my days. Join Date: 2016-09-06 Member: 222128Members
    edited June 2017
    SAPH3RE wrote: »
    Huh, the guy is only doing a black orb, showing where the player is, I don't really see him modifying or editing the base, just a black orb staying still. I like how they are doing the multiplayer, but please leave it to the devs, since it will make this easier, I've seen different types of games with multiplayer made by users, however NONE of them lived to their fullest for hundreds of reason. Just, please leave it to the devs since they already confirmed they're doing it:
    https://trello.com/c/vNZEbIUe/170-make-scanner-room-more-useful-range-etc


    Both just cause 2 and 3 had community made multiplayer mods, and they were pretty successful.

    Also the whole thing is in development and the isn't really a player model available to replace the back blob (the current one has no head or spin animations)


    Edit:
    More single player games with multiplayer mods.
    Skyrim
    Fallout 3
    Fallout NV
    Karbal space program
    Original DOOM and ESCAPE FROM CASTLE WOLFINSTINE.

  • DaveyNYDaveyNY Schenectady, NY Join Date: 2016-08-30 Member: 221903Members
    SAPH3RE wrote: »
    Huh, the guy is only doing a black orb, showing where the player is, I don't really see him modifying or editing the base, just a black orb staying still. I like how they are doing the multiplayer, but please leave it to the devs, since it will make this easier, I've seen different types of games with multiplayer made by users, however NONE of them lived to their fullest for hundreds of reason. Just, please leave it to the devs since they already confirmed they're doing it:
    https://trello.com/c/vNZEbIUe/170-make-scanner-room-more-useful-range-etc

    Actually, the Dev's have said several times, that They are emphatically NOT doing it.
Sign In or Register to comment.