DCSMissionTweaker - converting single player missions to multiplayer - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 07-28-2019, 09:24 PM   #1
dcs76
Junior Member
 
Join Date: May 2018
Posts: 71
Default DCSMissionTweaker - converting single player missions to multiplayer

DCSMissionTweaker

With this tool, you can convert any single player mission into a multiplayer mission.

The tool can be used with missions of copyprotected DLC campaigns as well.
The copy protection is not circumvented with this tool.
All clients/players are still required to have a purchased license of that DLC campaign.

Download

Either compile the source code (found here) with Visual Studio or download a precompiled executable here:

https://drive.google.com/open?id=1pq...pCsKup3NyI4ld9

SHA1: 84081c37f52b371e1aa72c8bad817c699aac50d9

SHA256: 8051d4d1d67768a804bfe1444b1341eaf260e2cd100e35dd1e7de399b75e2873

The compiled executable is not signed. Windows will warn you when you try to execute it. You need to "accept the risk".

Disclaimer

As stated, this tool DOES NOT circumvent any DCS copy protection. If you tweak a mission of a copyprotected DLC campaign, all joining clients are still required to have the original DLC campaign installed. Otherwise they won't be able to join.

As this tool does not circumvent the copyprotection, Eagle Dynamics is ok with it. I have permission from them to publish it. If you want to know, how it works, see below.

Limitations

Quite a few missions use SPACE BAR triggers in order to advance the mission progress.
Due to this reason, one of the players/clients must also host the mission.
This hosting player is able to hit the SPACE BAR.

A few missions also use conditions/triggers based on specific cockpit dials or switches.
Again, those conditions/triggers will only work for the hosting player.

Usage

dcsmissiontweak.exe <path_to_missionfile.miz> <numberofclients>


This will change the units of the group the single player is part of to clients.
Only the first <numberofclients> units will be converted to clients.
The tool does not yet increase the number of existing units within the group.
If the group has fewer units than the specified <numberofclients>, only the existing units of that group are converted to clients.

Requirements

This tool runs on Windows with Microsoft .Net Framework 4.5 or higher installed.

Planned improvements

1. Changing airframe

This will allow flying missions with other aircraft.
This will only work if the mission does not rely on aircraft specific cockpit triggers/conditions of course.
As long as the new airframe has about the same capabilities as the original airframe the clients shouldn't have too much issues.
The first iteration of this feature will not add any loadout on the new airframe. The clients need to add the loadout themselves.
Additional iterations of that feature will attempt to convert the loadout from the original airframe to the new one.

2. Increasing number of units

If the number of clients is higher than the number of already existing units of the group, additional units (up to 4) will be added to the group.

3. Additional groups (with different airframe)

It will be possible to just add additional groups to the mission. The tool will attempt to be as smart as possible to add those units/groups.
Based on the starting configuration for the original units, the additional units will be configured and placed.
a few options will be provided to give the user some choice.

4. GUI

For the users who like a nice GUI, there will be one.

How does it work?

Essentially, miz-files are just zip archives. The file "mission" within the archive is a *lua* config file. This file contains all units. The tool simply parses this config file and updates those units. The method also works with copyprotected missions because only the triggers/conditions, scripts, behavior has been extracted into an encrypted file (extension .crypt) located side-by-side with the mission files. The miz file contains a reference to that file. This reference is not touched by the tool. The encryption mechanism does not include any checksums for the mission file itself or other content within the miz archive. This allows modifying it without breaking the copy protection. It also allows placing that miz file anywhere - even downloading from a DCS server). Upon loading that miz file, the referenced encrypted and protected file is being loaded as well. If that encrypted file cannot be located (e.g. client does not have a license of that DLC campaign or did not install it in his DCS version), that user is unable to join the mission.

Contributions

Feel free to contribute to this tool. Add issues (to the github repository mentioned above) if you find any bugs and or create pull requests for enhancements/fixes.

Last edited by dcs76; 07-30-2019 at 06:11 PM.
dcs76 is offline   Reply With Quote
Old 07-28-2019, 09:26 PM   #2
dcs76
Junior Member
 
Join Date: May 2018
Posts: 71
Default

Just now I noticed the Mods and Apps section. If a moderator could move the thread there, that would be terrific.
dcs76 is offline   Reply With Quote
Old 07-30-2019, 05:42 PM   #3
Shrike88
Member
 
Join Date: Dec 2017
Location: Missouri
Posts: 368
Default

This is absolutly awesome. Will test tonight. Hopefully we will have a work around for adding more client aircraft and groups.


Thank you for this! Was tired if manually editing every. Miz and their parking spots.
Shrike88 is offline   Reply With Quote
Old 08-24-2019, 06:30 PM   #4
sc_neo
Member
 
sc_neo's Avatar
 
Join Date: Aug 2015
Posts: 573
Default

This sounds very useful. Damn it, my gpu just passed away a couple of weeks ago and i am looking to get a proper replacement soon. I will sure give this a go then. I have been trying to get EDs Red Flags working in coop with my brother. We both own the campaigns and it should be a blast to play them together. So best of luck developing this further, especially adding a UI sound good. It's really great that more and more useful tools around DCS see the light of day.


BTW: this sounds like all i need to do manually is to open a mission with a zip tool, extract the mission file, change the AIs for clients and drop that changed mission file back into the original zip?


I did the manual way just now and sure enough, i could host that mission and could join either of two client slots. Great. Can't test this with my brother atm, but this looks very promising. No idea why this way of doing this has not been posted here before. Anyway, your tool will make this a breeze i reckon! Cheers

Last edited by sc_neo; 08-24-2019 at 06:56 PM.
sc_neo is offline   Reply With Quote
Old 08-25-2019, 09:06 AM   #5
davidp57
Member
 
Join Date: Jul 2011
Location: Metz, France
Posts: 356
Default

This is excellent, thank you for your work !


If I may add a comment, why don't you use the "release" mechanism in GitHub to host your compiled executable ?
This is easy, integrated, and usually accepted as the way of releasing a program on Github.
__________________
Zip - VEAF

Last edited by davidp57; 08-25-2019 at 09:10 AM.
davidp57 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 08:14 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.