Jump to content
Asmondian

Server Side Mod? How?

Recommended Posts

CONTEXT: Hi there, hope you guys can help me out with this:

  • Im trying to start a server just for an event.
  • Its a 100% Vanilla Server but,
  • I want to install Community Online Tools (COT) server side mod to have some control
  • People should still be able to join through the regular Dayz.exe (without any launcher).

QUIESTION: It is possible to install a "server side mod" where people can still join the server without getting kicked for not having the mod installed? How?

  • Mod (COT) is already working 100% on the server with its key and permissions
  • I know I can assign permissions and roles but Im trying to find a way to avoid using any Dayz Launcher
  • I know I can change the "verifySignatures" value to 0, but thats definetly a risk and I heard that there is other way.

So, how can I enable the mod only for myself and still let players join without mods installed? Thank you in advance!

Edited by Asmondian

Share this post


Link to post
Share on other sites

There are three options available to use from what I understand.

-mod=

-ignoremod=

-servermod=

The first one will kick a client if they don't have the mod installed. The second I've never had the option to use it so cannot comment on it, and finally, the third option will be for mods that are serverside and not required by the client when connecting. Hope it helps.

 

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, MetalHead2112 said:

There are three options available to use from what I understand.

-mod=

-ignoremod=

-servermod=

The first one will kick a client if they don't have the mod installed. The second I've never had the option to use it so cannot comment on it, and finally, the third option will be for mods that are serverside and not required by the client when connecting. Hope it helps.

Thanks a lot for your time dude.

I had no luck with "-servermod=@....;", unfortunately:

  • "-servermod=@Community-Online-Tools;@CF;" I could join without any launcher or mod, but when I wanted to join with the mod (using the launcher of course), I got "You were kicked off the game (File no found: @CF/addons/gui.pbo)"
  • Wen I get home Im going to try:
    • "-ignoremod=@Community-Online-Tools;@CF;" "-mod=@Community-Online-Tools;@CF;"
    • My question is if I would have to add both commands ("-Ignoremod=" and also "-mod=") and if the order matters (first ignore the mod then add the mod, or the other way).
    • I have also read that you cant have optional mods anymore (using verifySig v3). Not sure about this tho.

Thanks again dude!

Edited by Asmondian

Share this post


Link to post
Share on other sites

You could try..

-servermod=@Community-Online-Tools;

-ignoremod=@CF;

Share this post


Link to post
Share on other sites

i find this interesting, as indeed the main usecase would be to have mods that are optional, like administration

can you report your achievements?

 

  • Beans 1

Share this post


Link to post
Share on other sites

That is not the use-case of the servermod option. 

-servermod is for mods that are only required server side. Killfeed or log base building are prime examples for this. Every mod requiring clients to have assets loaded or code executed locally must be added as client mods. 

-ignoremod makes the mod optional for clients. So administration stuff like COT or Zomberry should be added to the mod list like normal and added to ignoremod aswell.

  • Thanks 1

Share this post


Link to post
Share on other sites

Asmond proba con esto, a mi me funciono.

Dentro del serverDZ.cfg agrega este parametro. Te permite que no puedas ignorar.

equalModRequired = 0

 

 

Edited by siegmundf
  • Thanks 1

Share this post


Link to post
Share on other sites
9 hours ago, philippj said:

That is not the use-case of the servermod option. 

-servermod is for mods that are only required server side. Killfeed or log base building are prime examples for this. Every mod requiring clients to have assets loaded or code executed locally must be added as client mods. 

-ignoremod makes the mod optional for clients. So administration stuff like COT or Zomberry should be added to the mod list like normal and added to ignoremod aswell.

Thanks for the feedback.

  • About your "-servermod" reference, some servers use some mods like that to still make them work for the client somehow.
  • For example, "DisableBaseDestruction mod" they added only in the server but the players still can´t destroy the fences from the outside. Something like this is what im trying to achieve.
  • I have tried the following with no results:
    • "-ignoremod=@ExampleMod;" "-mod=@ExampleMod;" and the game kick the not modded client asking for the mod (File not found...)
    • equalModRequired = 0 in the cfg, same result. The server is still asking for the mod to the clients.

Thats what I got right now. No solution yet.

Edited by Asmondian

Share this post


Link to post
Share on other sites
21 hours ago, philippj said:

That is not the use-case of the servermod option. 

-servermod is for mods that are only required server side. Killfeed or log base building are prime examples for this. Every mod requiring clients to have assets loaded or code executed locally must be added as client mods. 

-ignoremod makes the mod optional for clients. So administration stuff like COT or Zomberry should be added to the mod list like normal and added to ignoremod aswell.

But ignoredmod is defunkt with the new signatures as verifysignatures=2 and 3 are equivalent to equalmodrequired=1 in built.

Edited by Aussie Cleetus

Share this post


Link to post
Share on other sites
On 7/17/2019 at 6:53 AM, Aussie Cleetus said:

But ignoredmod is defunkt with the new signatures as verifysignatures=2 and 3 are equivalent to equalmodrequired=1 in built.

It is still required to hide them properly when using the DZSALauncher. (Afaik. Not sure whether or not it is already supporting and handling the serverMod parameter)

Share this post


Link to post
Share on other sites

After some days of trying different methods, these are my results and conclutions about using "Server Side mods". Maybe someone will find it useful in the future:

  1. If you ony want to use a mod server side, you should use the parameter -servermod=@mod
  2. Not all the mods could be used server side. For example: Community Online Tools requires server and client to work
  3. Apparently -ignoremod=@mod is not really a valid command, but it should work to hide the mod from DZSA launcher
  4. equalModRequired = 0 can help to ignore mods from the client, but it still does not help to make the mods works server side if that mod is not only require server side
  5. You can edit a script to add some minor changes to a vanilla server (E.g disable stamina) but you would have to modify the verifySignatures = 1 in order to let players join the server (This implies a huge security risk tho).

Those were my findings. I couldn't make a mod work just server side or modify the game scripts without having to modify verifySignatures = 0.

If anyone knows of any method I would appreciate if you could add it to this information. 

  • Like 1

Share this post


Link to post
Share on other sites
49 minutes ago, Asmondian said:

If you ony want to use a mod server side, you should use the parameter -servermod=@mod

Correct.

49 minutes ago, Asmondian said:

Not all the mods could be used server side. For example: Community Online Tools requires server and client to work

Also correct. Basically anything that adds User Interfaces, Graphics, Models, Sounds or client-sided code requires using -mod parameter

49 minutes ago, Asmondian said:

Apparently -ignoremod=@mod is not really a valid command, but it should work to hide the mod from DZSA launcher

It was never a DayZ launch parameter, it literally only passes to the DZSA Server launcher, which is what transmits the mods out to the client launchers.

49 minutes ago, Asmondian said:

equalModRequired = 0 can help to ignore mods from the client, but it still does not help to make the mods works server side if that mod is not only require server side

EqualModRequired is no longer supported or needed, as verifySignatures=2 and 3 now incorporate this and force equal mods without needing to use the now completely outdated option.

49 minutes ago, Asmondian said:

You can edit a script to add some minor changes to a vanilla server (E.g disable stamina) but you would have to modify the verifySignatures = 1 in order to let players join the server (This implies a huge security risk tho).

Those were my findings. I couldn't make a mod work just server side or modify the game scripts without having to modify verifySignatures = 0.

DO NOT DO THIS!!! If you want to edit scripts on the server side, unpack the pbo to the root of the server into a "scripts" folder and use -filepatching parameter on the server. This will pull the scripts from the folder instead. DO NOT under ANY CIRCUMSTANCES ON A LIVE SERVER run verifySignatures=0 or 1; This will allow players to play with any mods, public or private (there are many malicious mods that have not been released on the workshop, due to the rules of course - don't do this to yourself).

Edited by Aussie Cleetus
  • Thanks 2
  • Confused 1

Share this post


Link to post
Share on other sites
1 hour ago, Aussie Cleetus said:

Correct.

Also correct. Basically anything that adds User Interfaces, Graphics, Models, Sounds or client-sided code requires using -mod parameter

It was never a DayZ launch parameter, it literally only passes to the DZSA Server launcher, which is what transmits the mods out to the client launchers.

EqualModRequired is no longer supported or needed, as verifySignatures=2 and 3 now incorporate this and force equal mods without needing to use the now completely outdated option.

DO NOT DO THIS!!! If you want to edit scripts on the server side, unpack the pbo to the root of the server into a "scripts" folder and use -filepatching parameter on the server. This will pull the scripts from the folder instead. DO NOT under ANY CIRCUMSTANCES ON A LIVE SERVER run verifySignatures=0 or 1; This will allow players to play with any mods, public or private (there are many malicious mods that have not been released on the workshop, due to the rules of course - don't do this to yourself).

Hey dude, first of all, thanks you so much for taking the time to clarify those things.

I just wonder if you could elaborate more on how you should use the -filepatching parameter on the server to get the scripts from that folder if you have some time. It would really help. In particular:

  • What I understand is that each packed data have a "ID name" so if you extract a .pbo (For example: scripts.pbo) into the root folder of your server and that folder name matches the .pbo , by using the -filepatching parameter the server will launch from there instead of the packed file.
  • So with that I can still use verifySignatures=2 ? The modifications I make to any script (For example: I change the stamina) will have impact on the client too? By using -filepatching the client shouln`t be able to load packed or unpacked modified data?

Thanks once again!

Edited by Asmondian

Share this post


Link to post
Share on other sites

that is correct. There is a different option for allowing client-side file patching, which nobody should really ever do outside of a test server environment.

  • Like 1

Share this post


Link to post
Share on other sites

So, I tried this:

On 7/18/2019 at 3:33 PM, Aussie Cleetus said:

... unpack the pbo to the root of the server into a "scripts" folder and use -filepatching parameter on the server. This will pull the scripts from the folder instead...

But I can't connect to the server. It keeps saying I (as client) have a File that is not part of the server "dta\scripts.pbo"
It doesnt matter if I leave the original scripts.pbo or not inside dta on the server, it doesn't work at all.

What am I missing?
PS: I just made a small modification in the Stamina values.

Here is what I did:

aMGfVVU.png

 

Share this post


Link to post
Share on other sites
14 minutes ago, Aussie Cleetus said:

are you sure you haven't got a repacked scripts.pbo in the dta folder on the server?

Yes, I am sure I removed both files from dta: scripts.pbo and it's respective key file. The server starts normally without the scripts.pbo when using the -filepatching option but I can only connect if I leave the option: verifySignatures=0, and I know how dangerous this is.

Share this post


Link to post
Share on other sites

I can run mods with: -servermod command. Clients connect vanilla way and cannot destroy fences. But ... if verifysignatures is 2 and COT installed, I log into my server normally with COT installed, but vanilla way... neither I nor clients can log in.

 

Share this post


Link to post
Share on other sites

Some other results on my research:

How to set a modified script Server-Side avoiding "verifySignatures=0" dangers?

  • Example: You are trying to create a Vanilla server but with some small tweaks like nerfing stamina or tweaking the destroying times of fences (To provide with more basebuilding balance).A t the same time, you don´t want players to have to download mods to join your server. What you need to do is edit a scripts. The problem is that the game won´t let players join if the server have a different script.pbo than the one in the client so you can avoid that "checking" by setting the verifySignatures=0 (Huge risk since anyone could enter with any modification) or do the following:
  1. Download and install PBO Manager (http://www.armaholic.com/page.php?id=16369) to pack and unpack the .pbo files.
  2. Go to your DayzServer/dta directory and make a copy of the original "scripts.pbo" file somewhere in your pc.
  3. In that same folder, right click on scripts.pbo, PBO Manager tab and "extract to scripts". This will create a scripts folder in that directory.
  4. You can now edit what you want in that scripts new folder. For example: I wanted to disable the codelocks destruction so I went to scripts/4_world/Classes/UserActionsComponent/Actions/Continuous/ActionDestroyCombinationLock.c and modified the value on m_ActionData.m_ActionComponent = new CAContinuousTime(VALUE). Save the changes.
  5. Go to your DayzServer/dta directory and check your ServerDZ.cfg file (can have another name). Make sure that verifySignatures = 2.
  6. Go to your DayzServer/ and open with a text editor your server launcher .bat (the file you use to run the server). Add "-FilePatching" (by default its -NonFilePatching).
  7. Run your Dayz server and you should be able to join without any mods or issues and, at the same time, the scripts would execute.

Trying to add admin tools Server-Side (Same logic, no mods required for the client)

  • Example: You are the admin of your Vanilla server but you want to have admin tools like COT to controll players activity/glitching/hacks/exploits or make an event but you don´t want to force players to download the mod to be able to join.
  • I have tried COT (Community Online Tools) and Zomberry Tools with the -servermod=@mod; parameter and the game keeps sending an error.
  • Seems that the Admin Tools mods require both server and client have the mod installed to work.
  • If anyone knows how to use any kind of admin tools server side, please add it to this thread.

Hope it helps!

Edited by Asmondian
  • Like 1

Share this post


Link to post
Share on other sites
On 7/22/2019 at 11:48 PM, FelBRax said:

So, I tried this:

But I can't connect to the server. It keeps saying I (as client) have a File that is not part of the server "dta\scripts.pbo"
It doesnt matter if I leave the original scripts.pbo or not inside dta on the server, it doesn't work at all.

What am I missing?
PS: I just made a small modification in the Stamina values.

Here is what I did:

aMGfVVU.png

 

Could you solve it?

Share this post


Link to post
Share on other sites

I was watching what happens in this chat, for a long time and I was thinking if you could filter verifySignatures, for example: verifySignatures 2 or 3, but verifySignatures can bypass x mod, following ex: verifySignatures lets you connect without any mod or just with the mod COT and cf .. is it possible?  but only with mod cleared up in verifySignatures

Edited by nicocopertari

Share this post


Link to post
Share on other sites
On 8/19/2019 at 11:37 AM, Matias Erhardt said:

Could you solve it?

You are missing the .exe after \DayZServer_x64

Share this post


Link to post
Share on other sites
16 minutes ago, drgullen said:

You are missing the .exe after \DayZServer_x64

Hi, you can run it without the same .exe ..

Edited by nicocopertari

Share this post


Link to post
Share on other sites
On 7/24/2019 at 8:38 PM, Asmondian said:

Some other results on my research:

How to set a modified script Server-Side avoiding "verifySignatures=0" dangers?

  • Example: You are trying to create a Vanilla server but with some small tweaks like nerfing stamina or tweaking the destroying times of fences (To provide with more basebuilding balance).A t the same time, you don´t want players to have to download mods to join your server. What you need to do is edit a scripts. The problem is that the game won´t let players join if the server have a different script.pbo than the one in the client so you can avoid that "checking" by setting the verifySignatures=0 (Huge risk since anyone could enter with any modification) or do the following:
  1. Download and install PBO Manager (http://www.armaholic.com/page.php?id=16369) to pack and unpack the .pbo files.
  2. Go to your DayzServer/dta directory and make a copy of the original "scripts.pbo" file somewhere in your pc.
  3. In that same folder, right click on scripts.pbo, PBO Manager tab and "extract to scripts". This will create a scripts folder in that directory.
  4. You can now edit what you want in that scripts new folder. For example: I wanted to disable the codelocks destruction so I went to scripts/4_world/Classes/UserActionsComponent/Actions/Continuous/ActionDestroyCombinationLock.c and modified the value on m_ActionData.m_ActionComponent = new CAContinuousTime(VALUE). Save the changes.
  5. Go to your DayzServer/dta directory and check your ServerDZ.cfg file (can have another name). Make sure that verifySignatures = 2.
  6. Go to your DayzServer/ and open with a text editor your server launcher .bat (the file you use to run the server). Add "-FilePatching" (by default its -NonFilePatching).
  7. Run your Dayz server and you should be able to join without any mods or issues and, at the same time, the scripts would execute.

Trying to add admin tools Server-Side (Same logic, no mods required for the client)

  • Example: You are the admin of your Vanilla server but you want to have admin tools like COT to controll players activity/glitching/hacks/exploits or make an event but you don´t want to force players to download the mod to be able to join.
  • I have tried COT (Community Online Tools) and Zomberry Tools with the -servermod=@mod; parameter and the game keeps sending an error.
  • Seems that the Admin Tools mods require both server and client have the mod installed to work.
  • If anyone knows how to use any kind of admin tools server side, please add it to this thread.

Hope it helps!

Hi Asmondian...

Did you find a solution?

Thanks!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×