Jump to content
Roland

0XP RolMod A18

Recommended Posts

Roland - Any chance that you will move the trader POI protection removal into a modlet so that it can be enabled/disabled like the Anti-NerdPole? My group is really digging what you are doing with this mod - but removing Trader protection is a step we're not quite ready to take yet.

Share this post


Link to post
Share on other sites
Roland - Any chance that you will move the trader POI protection removal into a modlet so that it can be enabled/disabled like the Anti-NerdPole? My group is really digging what you are doing with this mod - but removing Trader protection is a step we're not quite ready to take yet.

 

For sure. Trader protection is completely handled by the prefabs folder. Just remove that and the trader POIs will remain vanilla. If that still poses a problem I will look to see what I can do to make it completely separate.

Share this post


Link to post
Share on other sites

Hmmmm the problem is that the mod launcher automatically takes the altered files in my prefabs folder and overwrites those same vanilla files in the game prefabs folder. To remove the mod you would need to go to your vanilla file on steam and copy that prefabs folder to your modded copy of the game created by the mod launcher. I think that instead of making it completely separate I will make a tutorial video that will step by step show how to revert the trader POIs back to vanilla.

Share this post


Link to post
Share on other sites

Is there anything to take care of if i want to install this mod on a dedicated server?

Or is there a specail version for dedicated servers?

Share this post


Link to post
Share on other sites
Is there anything to take care of if i want to install this mod on a dedicated server?

Or is there a specail version for dedicated servers?

 

Ideally for the server, you'd download the client version of the mod, and download the SDX / DMT tool and build it against a dedicated.

 

You may be able to just upload the mod as-is to the dedicated, but the clients would still need to run through the Mod Launcher. I don't think this is tested though.

Share this post


Link to post
Share on other sites
Hmmmm the problem is that the mod launcher automatically takes the altered files in my prefabs folder and overwrites those same vanilla files in the game prefabs folder. To remove the mod you would need to go to your vanilla file on steam and copy that prefabs folder to your modded copy of the game created by the mod launcher. I think that instead of making it completely separate I will make a tutorial video that will step by step show how to revert the trader POIs back to vanilla.

 

Yeah, that Mod Launcher can be a little TOO helpful eh? ;)

 

I had tried what you originally mentioned (removing the prefabs folder) but discovered that they had already been overwritten. My only concern is that if the launcher pre-syncs the mods, it's going to want to revert to the no-protection version.

 

Though that does bring to mind an interesting question - I've figured out how to get this running on a dedicated (Linux) server. If the server copy does not include the prefabs, does it matter if the client side does? Something to experiment with this weekend...

Share this post


Link to post
Share on other sites
Ideally for the server, you'd download the client version of the mod, and download the SDX / DMT tool and build it against a dedicated.

 

You may be able to just upload the mod as-is to the dedicated, but the clients would still need to run through the Mod Launcher. I don't think this is tested though.

 

On a related note, I was able to get this working on a dedicated Linux server but I just used your Mod Launcher and the resulting files to get it working. I can post the details tonight if people are interested.

Share this post


Link to post
Share on other sites
Hmmmm the problem is that the mod launcher automatically takes the altered files in my prefabs folder and overwrites those same vanilla files in the game prefabs folder. To remove the mod you would need to go to your vanilla file on steam and copy that prefabs folder to your modded copy of the game created by the mod launcher. I think that instead of making it completely separate I will make a tutorial video that will step by step show how to revert the trader POIs back to vanilla.

 

Yeah - I had that same thought earlier and tried it only to find the files already overwritten. Darned Mod Launcher is a little TOO efficient eh? ;)

My only concern is that with the Mod Launcher's ability to pre-sync mods, it will keep trying to revert the pre-fabs and so it will be a bit too easy to mess things up.

 

Though that brings up a thought - since I've figured out how to get this running on a dedicated (Linux) server, if I don't upload the pre-fabs to it, does it matter fir the clients have the modified files? Something to test this weekend.

Share this post


Link to post
Share on other sites
On a related note, I was able to get this working on a dedicated Linux server but I just used your Mod Launcher and the resulting files to get it working. I can post the details tonight if people are interested.

 

I've heard people using the client's version of the DLL on the server, and having success. This wasn't always the case, and must be related to their unified approach to the game.

 

It is different though, so while it may be working now, it may not work in the future, or even with different mods. I do not believe any server API mods will work with it, for example.

Share this post


Link to post
Share on other sites
Ideally for the server, you'd download the client version of the mod, and download the SDX / DMT tool and build it against a dedicated.

 

You may be able to just upload the mod as-is to the dedicated, but the clients would still need to run through the Mod Launcher. I don't think this is tested though.

 

I can confirm that using the libraries the client generates in 7DaysToDie_Data/Managed/ won't work if you copy them over to 7DaysToDieServer_Data/Managed/ on the (linux) server.

EDIT: @DaimyoOgata, would like to hear how you did it. I got errors on the server because the way the textureatlases were accessed on server and client seemed to be different.

 

You are bringing up the question whether the server really needs the SDX-modified libraries at all, do you suspect for Rolands mod they are not needed, or are you even suggesting this could be for the general case with all SDX mods ? That would be really astonishing.

EDIT: @ sphereii: Ok, the question for the general case seems to be answered by the post before mine.

Edited by meganoth (see edit history)

Share this post


Link to post
Share on other sites
I can confirm that using the libraries the client generates in 7DaysToDie_Data/Managed/ won't work if you copy them over to 7DaysToDieServer_Data/Managed/ on the server.

 

You are bringing up the question whether the server really needs the SDX-modified libraries at all, do you suspect for Rolands mod they are not needed, or are you even suggesting this could be for the general case with all SDX mods ? That would be really astonishing.

 

It depends.

 

I'd say that most SDX mods only need to be on the client. But it's not really understood which needs to be on the server and which has to be local only.

Share this post


Link to post
Share on other sites

Any details that anyone can post about how they get the mod to run on a server would be greatly appreciated. I will quote you and put your instructions at the top of the thread for others to benefit. I have zero knowledge about server troubleshooting or how to set them up with mods.

Share this post


Link to post
Share on other sites
Any details that anyone can post about how they get the mod to run on a server would be greatly appreciated. I will quote you and put your instructions at the top of the thread for others to benefit. I have zero knowledge about server troubleshooting or how to set them up with mods.

 

Since I have to update to A17.4+mod on my server, I can write down the steps while doing it. Not sure it helps much as on windows a picture says more than words, but I'll try. Hopefully DaimjoOgata can post info about an even easier way.

Share this post


Link to post
Share on other sites
It depends.

 

I'd say that most SDX mods only need to be on the client. But it's not really understood which needs to be on the server and which has to be local only.

 

Since I needed to update the server to the latest 0XP mod as well as 17.4, I decided to test Sphereii's theory. I pulled the files I uploaded to the server with the exception of the mod itself and gave it a run through. And sure enough, just having the 0XP stuff in the mod folder on the server was enough to get it to run - even made sure I got a skill point for lasting a whole hour!

 

So just so long as the client is configured with SDX properly - works just fine.

 

As an aside, by NOT uploading the pre-fabs, I was able to keep trader protection in place even though the client is running them.

Share this post


Link to post
Share on other sites

It depends on if the sdx mod is for something the client handles or something the server handles.

Share this post


Link to post
Share on other sites
It depends on if the sdx mod is for something the client handles or something the server handles.

 

What would be an example of each case?

Share this post


Link to post
Share on other sites
What would be an example of each case?

 

I would think that Zombie Transmogrifier and the new NPC classes would have to exist on both client and server, as it needs to spawn and distribute them to other players.

 

The nerd polling mod would just affect you as a player, and has no effect on anyone else, so it's a client-side only.

Share this post


Link to post
Share on other sites
What would be an example of each case?

 

Whatever alloc feels like should be server side vs whatever he feels like should be client side.

 

Player movement in the world would be server side (so other players would see where other players are) but say, quest progression is probably client side (since my progress has no bearing on you).

 

His goal would be to limit the number of server side things to lower network congestion, so my /guess/ is as we get closer to gold, more things will be client side.

 

So walk types are likely client side, random get up time server?

 

You might get odd complaints down the line, so it's best to compile on the server as well.

Share this post


Link to post
Share on other sites

Bug report:

 

The trader is twice in the game. This might also be the reason why he is invulnerable as the invulnerable version might intercept all the bullets meant for the vulnerable version. And yes, this happened in a new game of 17.4 with current mod.

You can see the double (only) immediately after you talk with the trader and exit the dialog. Then (at least with the trader I used) one version will do a "goodbye" animation while the other is standing still. Luckily it doesn't seem as if you can switch between talking to one or the other trader, so no real harm except for the visual glitch

 

 

 

Another thing I noticed which might be bug or feature or a wrong observation by me: If you die, you get the skillpoints immediately that you would otherwise get at the end of the day. After a death on day 3 I suddenly had two skill points where I expected zero, but I'm really not sure about this.

 

As an anecdote, I wasted a lot of time yesterday because I forgot that you changed the skillpoint progression and thought the bleeding buffs without icon were a result of my compilation gone wrong. :crushed:

Share this post


Link to post
Share on other sites

Ok, here is the promised howto:

 

-------------------------------------------------------------------

These are the steps to create a (windows or linux) headless server with 0XP-mod using SDX. (SDX is on the way out and will probably be replaced by DMT. Also Mod Launcher could possibly be used to generate the files for the headless server. Wine might be used to do all of this without windows, but this has not been tried yet)

 

First time tasks:

1) Load SDX 0.7.3 from https://7daystodie.com/forums/showthread.php?97663-SDX-0-7-3-Alpha-17 and unzip it

2) Start SDX and klick "Settings" and point the "Game Directory" to a directory where you want to store your headless server image

3) If you get a runtime exception on startup of SDX, edit SDX7DTD.exe.config and insert the line "<loadFromRemoteSources enabled="true"/>" after the line "<runtime>"

4) Enable or install Microsoft .net framework 3.5 (google for "enable .net framework 3.5" or "install .net framework 3.5" for instructions).

 

Tasks whenever a new version of mod or 7D2D is available:

1) Load newest 0xpmod from https://github.com/Roland7dtd/0XP-Rolmod (green "Clone or Download" button)

copy the contents of the Mods Folder of 0XP-Rolmod into [sDX DIR]/Targets/7DaysToDie/Mods

2) Download newest 7D2D headless server image from steam, instructions here: https://developer.valvesoftware.com/wiki/7_Days_to_Die_Dedicated_Server

For login to steam you can use "login anonymous"

3) Start SDX

4) If everything is correct, SDX should show you a list consisting of (currently) "Anti Nerd Poling" and "Skillpoint Generator". Klick "Build" and wait for it to finish

4a) If you point "Game Directory" to your local copy of 7D2D you can build the libraries for the client too, they will be in [local client]\7DaysToDie_Data\Managed\

5) Look into [headless server image]\7DaysToDieServer_Data\Managed\. There should be 5 new files: Assembly-CSharp.dll, Mods.dll, Mods.pdb, SDX.Payload.dll, SDX.Core.dll

6) Copy those 5 files to the respective directory on the server, i.e. 7DaysToDieServer_Data/Managed

7) Extract 0XP-Rolmod into the server image on the server

-------------------------------------------

 

For linux users without access to Windows I have put the relevant files for 17.4 and current mod version into a zip you can find on https://we.tl/t-7YIB2Ox1bU . (sha256sum is 6943df20924716663483cc4a6044e31b419bf7636062510f19a8eb90ea127a94). Sadly the link is only working for a week.

Edited by meganoth (see edit history)

Share this post


Link to post
Share on other sites
Bug report:

 

The trader is twice in the game.

 

This happend to me in another mod. I think it was darkness falls. I was moving the trader about to be able to build as I wanted around him. Once he was moved 1 or 2 blocks another one spawned in the original position.

Edited by Shin
spelling (see edit history)

Share this post


Link to post
Share on other sites

Hmmm.....weird. I never committed any attempted changes to trader vulnerability for the trader himself. It was all experimented on locally and nothing worked anyway. I did look at what Khaine did with his “Wandering Trader” version of the trader but it was sdx based so I left it alone.

 

The only changes I made were deleting three lines that reference trader POI protection and changing the property “Trader Area” to false.

 

Maybe I’ll try leaving one or more of those lines of code in place to see if it fixes the double trader.

Share this post


Link to post
Share on other sites

I added the instructions for server setup to the third post on page one. Thanks a bunch.

Share this post


Link to post
Share on other sites
Bug report:

 

The trader is twice in the game. This might also be the reason why he is invulnerable as the invulnerable version might intercept all the bullets meant for the vulnerable version. And yes, this happened in a new game of 17.4 with current mod.

You can see the double (only) immediately after you talk with the trader and exit the dialog. Then (at least with the trader I used) one version will do a "goodbye" animation while the other is standing still. Luckily it doesn't seem as if you can switch between talking to one or the other trader, so no real harm except for the visual glitch

 

 

 

Another thing I noticed which might be bug or feature or a wrong observation by me: If you die, you get the skillpoints immediately that you would otherwise get at the end of the day. After a death on day 3 I suddenly had two skill points where I expected zero, but I'm really not sure about this.

 

As an anecdote, I wasted a lot of time yesterday because I forgot that you changed the skillpoint progression and thought the bleeding buffs without icon were a result of my compilation gone wrong. :crushed:

 

I couldn't reproduce either bug in SP so maybe it is a networking issue. I'm working on adding new trader quests that will involve crafting and placing working workstations in the trader compound and also adding reinforcements to the trader's defenses all made possible due to the protection being gone. My biggest problem right now is enforcing the placement of the workstations in the trader compound. Even if I can't figure it out I will still include the quests because I'm willing to roleplay them correctly even if they could be exploited. Hopefully the inclusion of these additional quests will enhance the unprotected trader status and make it a bit more enticing for others to try.

 

Here are my ideas for the quests and I'm happy to get feedback and additional ideas:

 

Tier 1 Station Craft: Craft and place a campfire complete with cooking pot and grill within the trader compound

Tier 2 Station Craft: Craft and place a forge complete with anvil within the trader compound

Tier 3 Station Craft: Craft and place a workbench within the trader compound

Tier 4 Station Craft: Craft and place a Table Saw and Cement Mixer within the trader compound

Tier 5 Station Craft: Craft and place a Chemistry Lab within the trader compound

 

I'm also thinking about how to do quests to upgrade the trader compound by having quests that would have you place turrets, traps, and simply blocks in order to repair holes made by zombies or just add another layer of defense. I haven't fully thought this through but I would like to capitalize on the quest system and the fact that the protection is gone with some gameplay features. Again, I have no idea if any of this will end up being able to be enforceable or left to the "honor system" that the player will roleplay the spirit of the quest as it is intended. But I am up for ideas and, of course, coding help. :)

 

As progress report I have created the first quest and it mostly works. I've tried creating localization text but it isn't getting applied for some reason and I can make the entire quest work except for when I try to use the objective of remaining within the area. When I try to do that one it doesn't target the trader POI as the center of the radius so it is useless.

Share this post


Link to post
Share on other sites

You can't per say do a quest where you "place/upgrade xyz block at zyx location", but you can use block placement/upgrade as a quest goal (wood frame quest).

 

So you can either create a quest that upgrades blocks only found in trader outposts (those goofy log spikes?), OR, if you REALLY want to be a boss (and learn new things):

 

Copy a few choice blocks that are used as trader walls, like woodblocks, whatever, to trader-woodblocks or something.

 

Edit the trader prefabs to use trader-woodblocks in lieu of woodblocks

 

Set the quest to upgrade trader-woodblocks.

 

...since trader-woodblocks wouldn't be craftable, you'd only be able to fulfill the quest by upgrading the blocks you specify as existing in the trader prefab.

 

You can get fancier too, but this is already a daunting task.

Share this post


Link to post
Share on other sites

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...