Jump to content

A16 - 7D2D SDX Tutorials and Modding Kit


sphereii

Recommended Posts

Ok this all looks great but i wonder if it is possible to see a how to guide for making additions to server files from publicly available mods like the blood moon mods for example from the guthub downloads?

 

For example I have the SDX tool and I have the bloodmoon.cs files I need to change war of the Walkers on my rented server to blood moon every day. But how exactly would i go about doing that ?

 

Would i download the csharp dll from the server via ftp, modify that in the sdx app ( after placing it in my client install of War of the walkers ) by adding in the blood moon.cs file ( although why there are 2 of these files in the github download is a mystery ) and then re-upload the newly modified csharp dll file to the server via ftp ? Is that all i would need to do ?

Link to comment
Share on other sites

Ok this all looks great but i wonder if it is possible to see a how to guide for making additions to server files from publicly available mods like the blood moon mods for example from the guthub downloads?

 

For example I have the SDX tool and I have the bloodmoon.cs files I need to change war of the Walkers on my rented server to blood moon every day. But how exactly would i go about doing that ?

 

Would i download the csharp dll from the server via ftp, modify that in the sdx app ( after placing it in my client install of War of the walkers ) by adding in the blood moon.cs file ( although why there are 2 of these files in the github download is a mystery ) and then re-upload the newly modified csharp dll file to the server via ftp ? Is that all i would need to do ?

 

Which War of the Walkers are you running? If it's the bigger back pack mod, it's already been instrumented with some SDX code, and cannot be re-instrumented. You'd have to grab the original bigger backpack mod from Sirilion, and add in your SDX mods into it, like BloodMoon, CraftingLag fixes, etc).

 

Rather than downloading from the server, it'd probably be better to sync up with a dedicated version from Steam. If you go into the Tools section of your Steam Library, you'll see where you can download the dedicated version. Then, update it with War of the Walkers / Blood moon. Then upload the right files (Assembly-CSharp.dll, Mods.dll, etc)

Link to comment
Share on other sites

Which War of the Walkers are you running? If it's the bigger back pack mod, it's already been instrumented with some SDX code, and cannot be re-instrumented. You'd have to grab the original bigger backpack mod from Sirilion, and add in your SDX mods into it, like BloodMoon, CraftingLag fixes, etc).

 

Rather than downloading from the server, it'd probably be better to sync up with a dedicated version from Steam. If you go into the Tools section of your Steam Library, you'll see where you can download the dedicated version. Then, update it with War of the Walkers / Blood moon. Then upload the right files (Assembly-CSharp.dll, Mods.dll, etc)

 

Thanks for the reply I'll give that a go. ( I'm running the WoW standard back pack size but expanded minibike storage)

Link to comment
Share on other sites

I'm having trouble understanding this. I think it's one of those artifacts of de-compiling that was talked about. Here it is:

 

https://i.imgur.com/eTLit7A.png

 

These `for` values make no sense? you can't have a `for` loop with no iterators, conditions, or counters? and furthermore the switches use a number. that also makes no sense, and all the case just look for a 0 but don't have a default.

 

switches must have a default right? and this switch will never fire either because it's hard coded to 4 or 6.

 

right now i'm just getting my toes wet and i'm trying to understand someone's mod. their mod uses this method so i wanted to understand it.

Link to comment
Share on other sites

SDX Built always to V16.3

 

Hello, maybe someone can help me.

I’ve built a mod for Alpha 16.3. Now I want upgrade to 16.4.

I downloaded a Vanilla copy of 16.4, copy them to clean and Working Game Folder in SDX.

Start from SDX Tool the Vanilla Copy, runs 16.4, Build my Mods without an Error, start again from SDX Tool and my game Version has changed back to 16.3…

What am I doing wrong?

 

Thanks!

Link to comment
Share on other sites

I'm having trouble understanding this. I think it's one of those artifacts of de-compiling that was talked about. Here it is:

 

https://i.imgur.com/eTLit7A.png

 

These `for` values make no sense? you can't have a `for` loop with no iterators, conditions, or counters? and furthermore the switches use a number. that also makes no sense, and all the case just look for a 0 but don't have a default.

 

switches must have a default right? and this switch will never fire either because it's hard coded to 4 or 6.

 

right now i'm just getting my toes wet and i'm trying to understand someone's mod. their mod uses this method so i wanted to understand it.

 

Sorry, I missed this post. That's a by product of deobfuscating. Try this experimental version of SDX: http://7d.l9000.co.uk/SDTD/SDTD.asmx/GetLatestSdxDownload

 

Run it with no mods, then look at the DLL again. It should clean things up.

 

- - - Updated - - -

 

Hello, maybe someone can help me.

I’ve built a mod for Alpha 16.3. Now I want upgrade to 16.4.

I downloaded a Vanilla copy of 16.4, copy them to clean and Working Game Folder in SDX.

Start from SDX Tool the Vanilla Copy, runs 16.4, Build my Mods without an Error, start again from SDX Tool and my game Version has changed back to 16.3…

What am I doing wrong?

 

Thanks!

 

In the SDX 0.7.2 folder, look at the Backup folder. It probably contains the old DLL and is re-using it. Delete the Backups folder and you should be good to go.

Link to comment
Share on other sites

Sorry, I missed this post. That's a by product of deobfuscating. Try this experimental version of SDX: http://7d.l9000.co.uk/SDTD/SDTD.asmx/GetLatestSdxDownload

 

Run it with no mods, then look at the DLL again. It should clean things up.

 

- - - Updated - - -

 

 

 

In the SDX 0.7.2 folder, look at the Backup folder. It probably contains the old DLL and is re-using it. Delete the Backups folder and you should be good to go.

 

Thanks a Lot!

Link to comment
Share on other sites

  • 3 weeks later...

Does SDX only work with a certain version of 7D2D?

I'm using Alpha 16.4b8 and SDX 0.7.2

I am also building with no mods checked, it still happens when mods are checked.

 

Output:

EVENT: Begin task: Backup game files

Copy: C:\SDX\Working\Data\Config -> C:\SDX\Backups\7 Days To Die\Data\Config

Copy: C:\SDX\Working\7DaysToDie_Data\Managed\Assembly-CSharp.dll -> C:\SDX\Backups\7 Days To Die\7DaysToDie_Data\Managed\Assembly-CSharp.dll

EVENT: Begin task: Import UnityEngine.dll

EVENT: Begin task: Deobfuscate Assembly Strings

EVENT: Begin task: Patch game code

INFO: Inject: System.Void GameManager::Awake() into type(SDX.Payload.Entry, SDX.Payload).Setup at start

INFO: Inject: System.Void GameManager::StartGame() into type(SDX.Payload.ModEngine, SDX.Payload).StartupModScripts at start

Patched 113 hooks

Saving...

Done.

EVENT: Begin task: Deobfuscate game code

Execute: C:\SDX/Targets\7DaysToDie\Deobfuscator\de4dot.exe "C:\SDX\Backups\7 Days To Die\7DaysToDie_Data/Managed/EntryPatched.dll" --dont-rename -o "C:\SDX\Backups\7 Days To Die\7DaysToDie_Data/Managed/Deobf_Part1.dll"

EVENT: Begin task: Compile mod patcher scripts

No PatchScripts.

EVENT: Begin task: Copy payload dlls

Copy file: C:\SDX\SDX.Core.dll to C:\SDX\Working/7DaysToDie_Data/Managed\SDX.Core.dll

Copy file: C:\SDX\SDX.Payload.dll to C:\SDX\Working/7DaysToDie_Data/Managed\SDX.Payload.dll

EVENT: Begin task: Compile mod scripts

Compiling Mods.dll...

INFO: Built in 396ms

Mods.dll compile successful

EVENT: Begin task: Link modules

Saving to C:\SDX\Working\7DaysToDie_Data\Managed\Assembly-CSharp.dll

Done.

EVENT: Begin task: Apply mod config patches

Load all configs in: C:\SDX\Backups\7 Days To Die\Data/Config

Searching files in: C:\SDX\Backups\7 Days To Die\Data/Config

FoundConfig: archetypes

FoundConfig: biomes

FoundConfig: blocks

FoundConfig: buffs

FoundConfig: entityclasses

FoundConfig: entitygroups

FoundConfig: gamestages

FoundConfig: items

FoundConfig: loot

FoundConfig: materials

FoundConfig: misc

FoundConfig: npc

FoundConfig: painting

FoundConfig: physicsbodies

FoundConfig: progression

FoundConfig: qualityinfo

FoundConfig: quests

FoundConfig: recipes

Error popup:

 

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

 

************** Exception Text **************

System.Xml.XmlException: There are multiple root elements. Line 5, position 2.

at System.Xml.XmlTextReaderImpl.Throw(Exception e)

at System.Xml.XmlTextReaderImpl.ParseDocumentContent()

at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)

at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)

at System.Xml.XmlDocument.Load(XmlReader reader)

at System.Xml.XmlDocument.Load(String filename)

at SDX.Compiler.XmlData.LoadXml(String path)

at SDX.Compiler.XmlDataProvider.LoadAllInDirectory(String dir)

at SevenDaysToDiePlugin.ApplyModConfigPatchesTask.Execute()

at SevenDaysToDiePlugin.Plugin.RunTasks(List`1 tasks, CompilerConfig config)

at SevenDaysToDiePlugin.Plugin.RunAction(String action, CompilerConfig config)

at SDX7DTD.frmMain.BuildMods(String action)

at SDX7DTD.frmMain.btnBuild_Click(Object sender, EventArgs e)

at System.Windows.Forms.Control.OnClick(EventArgs e)

at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ButtonBase.WndProc(Message& m)

at System.Windows.Forms.Button.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

 

************** Loaded Assemblies **************

mscorlib

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5466 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll

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

SDX7DTD

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/SDX7DTD.exe

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

System.Windows.Forms

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

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

System

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

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

System.Drawing

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

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

System.Core

Assembly Version: 3.5.0.0

Win32 Version: 3.5.30729.5420 built by: Win7SP1

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll

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

SDX.Core

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/SDX.Core.DLL

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

System.Configuration

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

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

System.Xml

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

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

Plugin

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/Plugin.DLL

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

Plugin

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/Plugin.dll

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

SDX.Compiler

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/SDX.Compiler.DLL

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

Mono.Cecil

Assembly Version: 0.9.5.0

Win32 Version: 0.9.5.0

CodeBase: file:///C:/SDX/Mono.Cecil.DLL

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

Assembly-CSharp

Assembly Version: 0.0.0.0

Win32 Version: 0.0.0.0

CodeBase: file:///C:/SDX/Backups/7%20Days%20To%20Die/7DaysToDie_Data/Managed/Assembly-CSharp.dll

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

SDX.Payload

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///C:/SDX/SDX.Payload.DLL

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

UnityEngine

Assembly Version: 0.0.0.0

Win32 Version: 0.0.0.0

CodeBase: file:///C:/SDX/UnityEngine.DLL

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

Mods

Assembly Version: 0.0.0.0

Win32 Version: 0.0.0.0

CodeBase: file:///C:/Users/GG/AppData/Local/Temp/SDX/285cbcf0-eaaa-40da-b7ee-007e89721900/Mods.dll

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

 

************** JIT Debugging **************

To enable just-in-time (JIT) debugging, the .config file for this

application or computer (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

 

For example:

 

<configuration>

<system.windows.forms jitDebugging="true" />

</configuration>

 

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.

 

Link to comment
Share on other sites

Does SDX only work with a certain version of 7D2D?

I'm using Alpha 16.4b8 and SDX 0.7.2

I am also building with no mods checked, it still happens when mods are checked.

 

It is working with the current version of the game. It looks like there may be a problem with your recipes.xml. Can you run it through an XML Parser?

Link to comment
Share on other sites

  • 3 weeks later...

animation sdx

 

it keeps scrolling my scrolling my console checking to see animation is playing on my mobs.. if you had 10 mobs there .. it would over run my console. I literally had to comment out the log out put to my console to make it stop. please dont put stuff like that in code... that would lag a server very badly

Link to comment
Share on other sites

it keeps scrolling my scrolling my console checking to see animation is playing on my mobs.. if you had 10 mobs there .. it would over run my console. I literally had to comment out the log out put to my console to make it stop. please dont put stuff like that in code... that would lag a server very badly

 

Logging is enabled as we expect you to be testing a lot before throwing things in production. There is a blDebug boolean at the top of the class to toggle it on and off.

Link to comment
Share on other sites

  • 1 month later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...