Jump to content

Is it possible for mods in a SP game to affect MP server play?


scm1893

Recommended Posts

I think some of the mods in my SP game are affecting my MP server game. My server has a few server-side only mods.

 

Some examples of SP mods to server conflicts:

 - parachute mod - If I free fall in my server game, I get a tool tip from it

 - couldn't sign into server - kept getting a null reference - local files intact - after second attempt, went into SP game and changed what I was holding - went back to server - signed in, no problem

 - couldn't pick up sledges in server game - every time another player placed a sledge, I rec'd an error - removed mods folder from SP - started new SP - back to server, can pick up sledges again

 

Is this something to do with .dll files? Just huge coincidence? I'm looking for education more than a solution. I've not had this happen before and curious how it is possible. The solution for me is to move the mods folder as needed. I only use SP to test mods/combinations anyway. Don't really want to chase it as a bug, with A21 looming.

 

Anyone else had this issue? Thoughts?

 

Link to comment
Share on other sites

When you connect to a server, you should have the same mods it does.

 

In the case of xml-only mods, it's not a real issue because the server pushes the xml changes to the client.

However when you have mods that add assets or include dll's that change the core code, server and client have to match.

 

Your issue is that you have mods that add content and make changes to the local client. When you connect to the server, the code doesn't match up so you get errors, and it breaks the xml code. 

Link to comment
Share on other sites

15 hours ago, scm1893 said:

I think some of the mods in my SP game are affecting my MP server game. My server has a few server-side only mods.

 

Some examples of SP mods to server conflicts:

 - parachute mod - If I free fall in my server game, I get a tool tip from it

 - couldn't sign into server - kept getting a null reference - local files intact - after second attempt, went into SP game and changed what I was holding - went back to server - signed in, no problem

 - couldn't pick up sledges in server game - every time another player placed a sledge, I rec'd an error - removed mods folder from SP - started new SP - back to server, can pick up sledges again

 

Is this something to do with .dll files? Just huge coincidence? I'm looking for education more than a solution. I've not had this happen before and curious how it is possible. The solution for me is to move the mods folder as needed. I only use SP to test mods/combinations anyway. Don't really want to chase it as a bug, with A21 looming.

 

Anyone else had this issue? Thoughts?

 

ad1) If movement is simulated on server and then replicated to the client, you will have to apply this logic also to the parachute -> otherwise you will get broken leg/etc.

ad2) This probably has something to do with how assets are garbage collected. Properly, the game should unload all game related assets when you go into main menu and then reload when you go back. In this game it seems to not be the case... Hence you get null ref error on something that should NOT exist at the time in point..

Just now, Cr0wst0rm said:

ad1) If movement is simulated on server and then replicated to the client, you will have to apply this logic also to the parachute -> otherwise you will get broken leg/etc.

ad2) This probably has something to do with how assets are garbage collected. Properly, the game should unload all game related assets when you go into main menu and then reload when you go back. In this game it seems to not be the case... Hence you get null ref error on something that should NOT exist at the time in point..

So generally, the answer is both yes and no, depending on the implementation

Link to comment
Share on other sites

@SylenThunder - I'm trying to connect the dots on local/server interaction.

 

Is this a reasonable line of thought? It seems to follow what you've said.

My SP game contains .dlls and Harmony integrations, which make changes to hard coded data. These changes are stored in a saved game file upon quitting. If I exit the game and restart, the default game files are loaded. Activating the saved game restores the necessary changes.

But, if, instead of exiting the game, I switch to the server, the local game files are still altered from the SP mods. The server starts with its version of the data but I'm playing with an altered version. And somehow, the saved game on the server is 'contaminated'. Through my profile, maybe?

 

 

Link to comment
Share on other sites

5 hours ago, scm1893 said:

@SylenThunder - I'm trying to connect the dots on local/server interaction.

 

Is this a reasonable line of thought? It seems to follow what you've said.

My SP game contains .dlls and Harmony integrations, which make changes to hard coded data. These changes are stored in a saved game file upon quitting. If I exit the game and restart, the default game files are loaded. Activating the saved game restores the necessary changes.

 

No. Just by starting the client you load the dlls and change the program to act differently. Whether you restart or not, you always will have loaded the mods. "Activating" the savegame does nothing special.

Note you can wreak your local save game as well if you remove the local mods and then continue to play the previously modded game

 

5 hours ago, scm1893 said:

But, if, instead of exiting the game, I switch to the server, the local game files are still altered from the SP mods. The server starts with its version of the data but I'm playing with an altered version. And somehow, the saved game on the server is 'contaminated'. Through my profile, maybe?

 

 

 

Server and client are two dancers who have to synchronize their movements to not step on each others toes. When both dance a tango everything is fine. But when one mods his dance to a tango nuevo and the other dances a tango then they will trip up. 😉

 

The changed dlls do not make changes to hard coded data, they change how the client works. The client might send data that is correct for how it is programmed but that is incorrect for how the server understands the game.

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

It seems the client/server have a more dependent relationship than I thought. Dancers were a good analogy. In my mind, the dancers came to the ball together but did their own thing when they got there. And I did not anticipate mod components like .dlls running when not required for the server.

 

I'm further from understanding how it works but wiser as to how to proceed. The key takeaway for me is the need to separate/restore the SP mods folder from/to the client before starting the game. Is it safe to rename it SPmods and leave it in the 7DTD directory or does it need to be moved?

Link to comment
Share on other sites

Yes, renaming is one way, but awful if you switch between both games often.

 

My method is to copy the whole game directory to somewhere else (outside steam), add the mods to that directory and start the game directly instead of through steam. Advantage Nr. 1: You can even play different game versions that way. Advantage Nr. 2: You always have a vanilla version in steam that you can safely update and use to make more copies.

 

And what I do manually here is done automatically for you if you use Sphereii's mod launcher http://7d2dmodlauncher.org/

 

 

 

5 hours ago, scm1893 said:

It seems the client/server have a more dependent relationship than I thought. Dancers were a good analogy. In my mind, the dancers came to the ball together but did their own thing when they got there. And I did not anticipate mod components like .dlls running when not required for the server.

 

Think of mods just like a new alpha of the game. You won't be able to play on an alpha19 server with an alpha20 client, and even if you could you would immediately run into bugs and problems. A mod changes the game just like a new alpha does, only not as much.

 

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...