Announcement

Collapse
No announcement yet.

[DEDI] 7dtmLib - Modding Utility Library

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [DEDI] 7dtmLib - Modding Utility Library

    7dtmlib - **DEDICATED SERVER ONLY**

    7dtmlib is a Modding Utility Library for 7 Days to Die Dedicated Server Mod developers. It adds many new features and classes for mod developers to simplify server mod development.

    Quick Links
    Downloads - http://github.com/7daystomod/7dtmlib/releases
    Docs - http://7daystomod.com/mods/7dtmlib


    Features
    • Wraps Server modding in a C# Event framework
    • Expanded Modding Events
    • Extended Group Based Permissions
    • Chat Command Handlers
    • Modding Utility Classes


    Event Framework

    7dtmlib wraps the existing mod functions using c# events and delegates and adds many new events for you to access within your mods including Entity and player Events, Block and Chunk events and Loot Container Events, among others.

    See the Events doc for more information.

    ExPerm - Node Based Permissions Manager

    7dtmlib provides a node based Group and user permissions manager, allowing server administrators fine grained control over the features of your mod.

    See the ExPerm doc for more information.

    Chat Commands

    7dtmlib provides a mechanism for easy construction of chat command handlers.

    See the ChatCommands doc for more information.

    Modding Utility Classes

    7dtmlib wraps many common tasks into handy utility classes for faster mod development.

    See the UtilityClasses doc docs for more information.

    Server Installation
    1. Download the mod using the links above.
    2. Extract the files
    3. Copy the Folder containing the DLL and ModInfo.xml into your Server Mods Folder.*
    4. Restart your Server

    * Some Game Server Providers do not allow you to install mods yourself. You will need to submit a support ticket with the URL of this page, requesting your provider to install the mod for you.

    #2
    Reserved for future info

    Comment


      #3
      Hello my english is not so good therefore google translation:

      How do I have to adjust everything?

      My Mods folder on the FTP looks like this



      Unfortunately not everything works

      In the console I can enter experm that works but paydaylib info does not work

      What do I have to do to keep it running or is something wrong uploaded?
      Last edited by ProTech1982; 06-18-2017, 11:15 AM.

      Comment


        #4
        Are you seeing any errors in the console logs?

        Also look towards the start of your log where it's loading the mods, to see if there were any errors while loading the mod.

        Comment


          #5
          Here is a section of the logfile ...

          Code:
          2017-06-18T12:18:19 0.486 INF [MODS] Start loading
          2017-06-18T12:18:19 0.488 INF [MODS] Trying to load from 7dtmlib
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\7dtmlib\7DTMLib.dll (this message is harmless)
          2017-06-18T12:18:19 0.500 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.501 ERR GetInt: InvalidCastException OptionsObjectBlur
          2017-06-18T12:18:19 0.519 INF Loaded Permission Node: chatcommand.help
          2017-06-18T12:18:19 0.519 INF Added Group: guest
          2017-06-18T12:18:19 0.519 INF Loaded Permission Node: chatcommand.*
          2017-06-18T12:18:19 0.519 INF Added Group: regular
          2017-06-18T12:18:19 0.520 INF Loaded Permission Node: chatcommand.*
          2017-06-18T12:18:19 0.520 INF Added Group: moderator
          2017-06-18T12:18:19 0.520 INF Loaded Permission Node: *
          2017-06-18T12:18:19 0.520 INF Added Group: admin
          2017-06-18T12:18:19 0.522 INF Groups Exist
          2017-06-18T12:18:19 0.524 INF [MODS] Loaded Mod: 7DTMLib (1)
          2017-06-18T12:18:19 0.525 INF [MODS] Trying to load from 7dtmPaydayLib
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\7dtmPaydayLib\7DTMPaydayLib.dll (this message is harmless)
          2017-06-18T12:18:19 0.526 ERR [MODS] Failed loading DLL
          2017-06-18T12:18:19 0.526 EXC The classes in the module cannot be loaded.
          ReflectionTypeLoadException: The classes in the module cannot be loaded.
            at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
            at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
            at Mod.BK () [0x00000] in <filename unknown>:0 
          UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
          UnityEngine.DebugLogHandler:LogException(Exception, Object)
          UnityEngine.Logger:LogException(Exception, Object)
          UnityEngine.Debug:LogException(Exception)
          Logger:masterLogException(Exception)
          Logger:Exception(Exception)
          Log:Exception(Exception)
          Mod:BK()
          Mod:LoadFromFolder(String)
          ModManager:LoadMods()
          GameManager:Awake()
           
          (Filename:  Line: -1)
          
          2017-06-18T12:18:19 0.531 INF [MODS] Trying to load from 7dtmWarpLib
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\7dtmWarpLib\7DTMWarpLib.dll (this message is harmless)
          2017-06-18T12:18:19 0.532 ERR [MODS] Failed loading DLL
          2017-06-18T12:18:19 0.532 EXC The classes in the module cannot be loaded.
          ReflectionTypeLoadException: The classes in the module cannot be loaded.
            at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
            at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
            at Mod.BK () [0x00000] in <filename unknown>:0 
          UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
          UnityEngine.DebugLogHandler:LogException(Exception, Object)
          UnityEngine.Logger:LogException(Exception, Object)
          UnityEngine.Debug:LogException(Exception)
          Logger:masterLogException(Exception)
          Logger:Exception(Exception)
          Log:Exception(Exception)
          Mod:BK()
          Mod:LoadFromFolder(String)
          ModManager:LoadMods()
          GameManager:Awake()
           
          (Filename:  Line: -1)
          
          2017-06-18T12:18:19 0.533 INF [MODS] Trying to load from Allocs_CommandExtensions
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\Allocs_CommandExtensions\AllocsCommands.dll (this message is harmless)
          2017-06-18T12:18:19 0.534 INF [MODS] Loaded Mod: Allocs command extensions (12)
          2017-06-18T12:18:19 0.534 INF [MODS] Trying to load from Allocs_CommonFunc
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\Allocs_CommonFunc\7dtd-server-fixes.dll (this message is harmless)
          2017-06-18T12:18:19 0.535 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.535 INF [MODS] Loaded Mod: Allocs server fixes (14)
          2017-06-18T12:18:19 0.536 INF [MODS] Trying to load from Allocs_WebAndMapRendering
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\Allocs_WebAndMapRendering\MapRendering.dll (this message is harmless)
          2017-06-18T12:18:19 0.537 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.537 INF [MODS] Loaded Mod: Allocs MapRendering and Webinterface (19)
          2017-06-18T12:18:19 0.537 INF [MODS] Trying to load from BCManager
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\BCManager\BCManager.dll (this message is harmless)
          2017-06-18T12:18:19 0.539 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.556 INF (BCM) Its Alive!!! (Pulse Started)
          2017-06-18T12:18:19 0.557 INF Started thread HeartbeatPulse
          2017-06-18T12:18:19 0.557 INF [MODS] Loaded Mod: Bad Company Manager (1.6.0_)
          2017-06-18T12:18:19 0.557 INF [MODS] Trying to load from docs
          2017-06-18T12:18:19 0.557 WRN [MODS] Folder D:/home/sid_250324/sevenDaysExperimental/7DaysToDieServer_Data/../Mods does not contain a ModInfo.xml, ignoring
          2017-06-18T12:18:19 0.557 INF [MODS] Trying to load from examples
          2017-06-18T12:18:19 0.558 WRN [MODS] Folder D:/home/sid_250324/sevenDaysExperimental/7DaysToDieServer_Data/../Mods does not contain a ModInfo.xml, ignoring
          2017-06-18T12:18:19 0.558 INF [MODS] Trying to load from PaydayBounties
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\PaydayBounties\PaydayBounties.dll (this message is harmless)
          2017-06-18T12:18:19 0.559 ERR [MODS] Failed loading DLL
          2017-06-18T12:18:19 0.559 EXC The classes in the module cannot be loaded.
          ReflectionTypeLoadException: The classes in the module cannot be loaded.
            at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
            at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
            at Mod.BK () [0x00000] in <filename unknown>:0 
          UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
          UnityEngine.DebugLogHandler:LogException(Exception, Object)
          UnityEngine.Logger:LogException(Exception, Object)
          UnityEngine.Debug:LogException(Exception)
          Logger:masterLogException(Exception)
          Logger:Exception(Exception)
          Log:Exception(Exception)
          Mod:BK()
          Mod:LoadFromFolder(String)
          ModManager:LoadMods()
          GameManager:Awake()
           
          (Filename:  Line: -1)
          
          2017-06-18T12:18:19 0.560 INF [MODS] Trying to load from PlayerLogger
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\PlayerLogger\PlayerLogger.dll (this message is harmless)
          2017-06-18T12:18:19 0.561 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.561 INF d:\home\sid_250324\sevenDaysExperimental\saves/Random Gen/GHsave1\playerlogger
          2017-06-18T12:18:19 0.562 INF [MODS] Loaded Mod: PlayerLogger (1)
          2017-06-18T12:18:19 0.562 INF [MODS] Trying to load from SubSignup
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\SubSignup\SubSignup.dll (this message is harmless)
          2017-06-18T12:18:19 0.562 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.562 INF [MODS] Loaded Mod: SubSignup (1)
          2017-06-18T12:18:19 0.563 INF [MODS] Trying to load from WorldConfigs
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\WorldConfigs\WorldConfigs.dll (this message is harmless)
          2017-06-18T12:18:19 0.563 INF [MODS] Found ModAPI, creating instance
          2017-06-18T12:18:19 0.564 INF [WorldConfigs] Base Config Already Backed Up
          2017-06-18T12:18:19 0.579 INF [MODS] Loaded Mod: WorldConfigs (1)
          2017-06-18T12:18:19 0.579 INF [MODS] Trying to load from WorldTools
          Non platform assembly: D:\home\sid_250324\sevenDaysExperimental\Mods\WorldTools\WorldTools.dll (this message is harmless)
          2017-06-18T12:18:19 0.580 ERR [MODS] Failed loading DLL
          2017-06-18T12:18:19 0.580 EXC The classes in the module cannot be loaded.
          ReflectionTypeLoadException: The classes in the module cannot be loaded.
            at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
            at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
            at Mod.BK () [0x00000] in <filename unknown>:0 
          UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
          UnityEngine.DebugLogHandler:LogException(Exception, Object)
          UnityEngine.Logger:LogException(Exception, Object)
          UnityEngine.Debug:LogException(Exception)
          Logger:masterLogException(Exception)
          Logger:Exception(Exception)
          Log:Exception(Exception)
          Mod:BK()
          Mod:LoadFromFolder(String)
          ModManager:LoadMods()
          GameManager:Awake()
           
          (Filename:  Line: -1)
          
          2017-06-18T12:18:19 0.582 INF [MODS] Loading done

          Comment


            #6
            Here is a section of the logfile ...

            https://pastebin.com/QtF98UaR

            Comment


              #7
              It looks like I have some referencing issues with my mods that rely on 7dtmlib. I'm checking it out now, but I wont be able to test it all until tomorrow.

              Comment


                #8
                OK Thank you ever

                Comment


                  #9
                  Originally posted by ProTech1982 View Post
                  OK Thank you ever
                  OK. I've updated the references and tested the builds and they are working now. I have just created new releases on github for 7dtmlib and the mods that rely on it, so you should be able to get the running if you download and install the latest releases.

                  Comment


                    #10
                    it works thanks

                    Can one set player privileges automatically?

                    Comment


                      #11
                      Originally posted by ProTech1982 View Post
                      it works thanks

                      Can one set player privileges automatically?
                      I'll create some default permissions today.

                      Comment


                        #12
                        Looking good Chromecide.

                        Will def check it out some more later

                        Comment


                          #13
                          Originally posted by ProTech1982 View Post
                          it works thanks

                          Can one set player privileges automatically?
                          I have created new releases for all of the mods, that include default permissions. You would need to delete the files in Data/7DTM and then update the mods for this to apply.

                          Alternatively, update the mods and then run the following commands in your command console to add the default permissions:

                          Code:
                          expermad
                          
                          experm group setperm regular paydaylib.buy.*
                          experm group setperm regular chatcommands.bounties.*
                          
                          experm user group <your username here> regular
                          
                          expermad
                          This will switch you to a super user, add the permissions to the "regular" group and then assign your user to that group. Running epxermad again then removes you from the super user group.

                          You should then be able to use the "!help" chat command and see all of the available commands.

                          Thanks for the feedback!
                          Last edited by chromecide; 06-19-2017, 02:29 AM.

                          Comment


                            #14
                            OK I can test it unfortunately only at the weekend

                            Comment


                              #15
                              Great work!
                              I will definitely check it today. I just looking for a way to track block changes on the map to create private zones.
                              You cant imagine how happy I am.
                              Thank you for your work.

                              Comment

                              Working...
                              X