Announcement

Collapse
No announcement yet.

[MOD] SurvivalKit plugin system 0.01 (Alpha 7.5 b1)

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

    [MOD] SurvivalKit plugin system 0.01 (Alpha 7.5 b1)

    Hello survivors,

    Here's an update of my plugin system for 7 days to die.
    It allows to load multiple plugins into the game instead of modifying Assembly-CSharp.dll and you don't have to update the plugin after each patch.

    I have put a torch flicker remover plugin into the plugin folder.

    Note that you aren't allowed to reupload it (or modificated versions of it) without my permission. An exception is the No Torch Flicker plugin.
    You can download it here :
    Click me
    Instructions are located in the readme.

    Here is a documentation and an example plugin source code for people who are interested in making plugins.

    Have fun!

    #2
    Nice. I'll give it a look. I don't know that it ever can cover all "I" want to do, but I commend you for your work.

    (Note: You'll never be able to cover everything I want to do, but that's just cause I'm crazy like that.)

    Comment


      #3
      Is this going to ( or is ) similar to bukkit for Minecraft?

      Comment


        #4
        Thanks DerPopo - this is great.

        Would be great if the other modders (Red/Grim/etc) make their mods in this Mod.dll format - so that we can just add all the wanted individual mods to our folder easily.

        - - - Updated - - -

        Originally posted by Xemos View Post
        Is this going to ( or is ) similar to bukkit for Minecraft?
        At this point, this just means that you no longer have to replace the full Assembly_CSharp.dll to use a mod. The problem with this method is/was, that if someone makes Mod A and someone makes Mod B, that you couldn't combine them and use both at the same time, since you had to overwrite the same DLL-File.

        Now, you can just add ModA.dll and ModB.dll to the folder, and it will use both mods.

        This does not work server side yet (I assume), since these files are NOT forced/pushed from server to client. So it's not comparable to bukkit at this point. That's probably something TFP's need to change in their coding before it can be implemented.

        Comment


          #5
          It does work for servers as servers also use Assembly-CSharp. There aren't many client features right now.
          I also automized Assembly-CSharp-patching so it won't take 5 years until an update is released.

          That's what SurvivalKit currently supports :
          • EntityMoveEvent (not working properly)
          • SetBlocksEvent (if you cancel it on a server, the client that sets the blocks still sees the blocks)
          • TorchFlickerUpdateEvent (torch light changes will only work if it's cancelled)
          • ProcessPacketEvent (when the server received something from the client, example : a SetBlocks packet, it will also fire SetBlocksEvent)
          • ReadPacketFromBufEvent (not cancellable, used after the server read the packet)
          • RPCEvent (when an RPC is received from server, example : RPC_ChatMessage, if you cancel it, you won't see a chat message from another player)

          Comment


            #6
            Originally posted by bobster View Post
            Thanks DerPopo - this is great.

            Would be great if the other modders (Red/Grim/etc) make their mods in this Mod.dll format - so that we can just add all the wanted individual mods to our folder easily.
            At the moment it does not cover a lot of functionality. Although I'm sure with the way DerPopo has been building it, he'll cover a lot more. The current version covers some common areas some people may want to touch.

            You are correct in that what you would like of pushing mods to clients is not a function of DerPopo's mod (yet). I said yet as the way he is going I imagine if the client and server were both running his mod he could code it to push any Mods loaded on the server. It would still require both the client and server to run it, but I could see that coming.

            Comment


              #7
              Originally posted by DerPopo View Post
              It does work for servers as servers also use Assembly-CSharp. There aren't many client features right now.
              I also automized Assembly-CSharp-patching so it won't take 5 years until an update is released.

              That's what SurvivalKit currently supports :
              • EntityMoveEvent (not working properly)
              • SetBlocksEvent (if you cancel it on a server, the client that sets the blocks still sees the blocks)
              • TorchFlickerUpdateEvent (torch light changes will only work if it's cancelled)
              • ProcessPacketEvent (when the server received something from the client, example : a SetBlocks packet, it will also fire SetBlocksEvent)
              • ReadPacketFromBufEvent (not cancellable, used after the server read the packet)
              • RPCEvent (when an RPC is received from server, example : RPC_ChatMessage, if you cancel it, you won't see a chat message from another player)
              Completely amazing release. Thanks again for your work.
              BTW - I liked this quick summary. You should add a quick summary like this into the documentation on the next release.

              I'd +rep you but I need to spread some before I can do that again.

              Comment


                #8
                I can see the startings of mods from this I made several big mods for MC utilizing bukkit... Starting with the rpcevent, you can take a command input /command and thus not repeat it to other clients IE a read from the user.. The set block event will be very important for lot protection once the ability to modify blocks from serverside is added. IE if there is a command to remove block at X Y Z and make it a pick-up-able block, that would bypass the fact that once client sees a placed block and others dont. Once the server sends command to remove block there, the placed block client will still see it removed, and then all clients will see a pickup-able block..... Can't wait till next version I will be grinding out mods soon enough!

                Comment


                  #9
                  Here is a small bugfix update.
                  Note that you aren't allowed to reupload it (or modificated versions of it) without my permission. You are allowed to upload this to a gameserver as long as it isn't public.
                  • Plugins now get disabled when leaving a game (before GameManager.Cleanup()).
                  • A cancelled SetBlocksEvent now also resets the blocks for clients immediately.
                  Last edited by DerPopo; 03-15-2014, 03:15 PM.

                  Comment


                    #10
                    As always DerPopo, thanks for the effort. Doing great.

                    Comment


                      #11
                      You sir are awesome, expect a land protection plugin soon enough That is all I needed

                      Comment

                      Working...
                      X