Jump to content
  • The forum downloads section will be removed on Jan 1st 2023. Players may still download mods that are currently hosted, but new submissions are no longer being accepted. Mod makers are advised to relocate their mods to alternative hosting solutions.

Modding Tools, Tutorials & Examples

88 files

  1. ktools: Cross-platform modding tools for Don't Starve

    IMPORTANT: Starting with version 4.3.0, the Windows binary release requires Microsoft's Visual C++ 2013 Redistributable Package (previously, the 2010 one was required). See the bottom of this description for more information.
    ktools is a set of cross-platform (Linux, Mac and Windows) modding tools for Don't Starve. It consists of the following command-line tools:
    ktech: a bidirectional converter between TEX texture and PNG; krane: a anim.bin/build.bin decompiler, whose output is a Spriter project. More detailed information about these tools may be found in the README, in the project's GitHub repository.
    ktools primary release format is as source code, compilable under every platform using CMake, as per the instructions in the README. A Windows binary release is also included (the ZIP ending with "-win32").
    When compiling from source, if libzip is found then the ktools are compiled with zip support, so that zip archives may be given as input in the same way directories may. The binary Windows release does not have zip support.
    If you have issues running the Windows binary release, make sure you have Microsoft's Visual C++ 2013 Redistributable Package (the 32 bit version, that is, download the file called vcredist_x86.exe). It's very likely already installed, but in case of any errors first make sure that is in fact the case.




  2. Extended Sample Character

    A character mod template for Don't Starve and Don't Starve Together.
    There are multiple versions.
    V1.0.4 - Don't Starve and Don't Starve Reign of Giants
    V1.2.6 - Don't Starve Together
    V1.3.1 - Don't Starve Shipwrecked
    The full tutorial can be found here.
    Basic coding for a character mod All sprites and symbols to build a character Extended drawing areas for custom art Reign of Giants, Shipwrecked, and Don't Starve Together versions This requires Don't Starve Mod Tools to autocompile .png files that are modified.
    The .scml is built in a way that you can use Spriter (included with Don't Starve Mod Tools) to preview the changes you make. The .scml file is not intended to be changed itself, and changes may not correctly reflect how it appears in-game.
    A folder of cleared sprites has been included to easily remove unwanted parts from your character.
    Also on Github




  3. Handsome Matt's Tools!

    These are some super simple tools I made for Don't Starve years ago, recently updated and re-uploaded myself seeing how popular they were. I still believe you should use the official tools for texture creation, but for simply viewing and exploring assets this tool should work great for you.
    Source code and latest releases are always available on GitHub.




  4. Stexatlaser - Simple TEX Atlas Packer

    Stexatlaser (Stex)

    Stexatlaser (stex-atlaser, a play on 'spectacular'), or simply Stex, is a simple tool for generating a (Klei) TEX format atlas and its key from a simple folder structure with no external dependencies required.
    It uses an implementation of the MaxRects algorithm to efficiently pack each input element image into a larger atlas image, with as little wasted space as possible. Some empty space is inevitable given that atlases must have power-of-two dimensions.
    It can also reverse the process and extract element images from an atlas using its key.

    Stex uses the following syntax scheme:
    stex <global options> [command] <command options>
    The order of switches within each options section does not matter.

    Basic Usage
    Creating an Atlas
    To create an atlas/key, start by setting up an input folder with the following structure:
    .atlas_name |-- element1_name.png |-- element2_name.png |-- element3_name.png |-- ... The available input formats can vary between systems, but most common formats are supported. See All Commands/Options (on GitHub) for more information.
    As implied by the above, the folder name will be used as the atlas/key name, and the file names (with the extension ".tex", see Additional Information on GitHub) of each image will be used as their respective element names. All sub-folders and other files will be ignored.
    Then run Stex with the pack command:
    stex pack -i "X:\Path\To\Input\Directory" -o "X:\Path\To\Output\Directory" When finished, the resultant atlas.tex and key.xml files will be placed in the specified output directory. You can then refer to each element by its name in LUA without concerning yourself where they actually were placed within the atlas.
    If you want to see the element arrangement, try viewing the output with a TEX viewer.
    Extracting an Atlas
    To extract an atlas, run Stex with the unpack command:
    stex unpack -i "X:\Path\To\Input\key.xml" -o "X:\Path\To\Output\Directory" The key's corresponding atlas, which must be located alongside it, will be read automatically using the name specified within the key.
    When finished, a subfolder with the name of the atlas will be created within the specified output directory that contains each individual element as a separate image. This results in the same structure used as input when packing an atlas.
    When packed, a folder of images that looks like this:

    Will produce the files "test.tex" and "test.xml", which will look like:
    test.tex (in a TEX capable viewer)

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Atlas> <Texture filename="test.tex"/> <Elements> <Element name="ear-0" u1="0.4375" u2="0.478027" v1="0.329102" v2="0.391113"/> <Element name="ear-0 - Copy" u1="0.472656" u2="0.513184" v1="0.266113" v2="0.328125"/> <Element name="ear-1" u1="0.372559" u2="0.40918" v1="0.941406" v2="0.999512"/> <Element name="ear-1 - Copy" u1="0.372559" u2="0.40918" v1="0.882324" v2="0.94043"/> <Element name="eye-0" u1="0.949707" u2="0.996094" v1="0.622559" v2="0.670898"/> <Element name="eye-0 - Copy" u1="0.413574" u2="0.459961" v1="0.580566" v2="0.628906"/> <Element name="eye-1" u1="0.198242" u2="0.244629" v1="0.173828" v2="0.216309"/> <Element name="eye-1 - Copy" u1="0.245605" u2="0.291992" v1="0.173828" v2="0.216309"/> <Element name="eye-2" u1="0.505859" u2="0.554199" v1="0.831055" v2="0.865723"/> ... (etc)  
    Special Feature
    Stex has a mechanism for recording if atlases it creates are using pre-multiplied alpha so that it can be handled automatically when unpacking. See GitHub.
    View on GitHub for more info: https://github.com/oblivioncth/Stexatlaser
    If you believe you've found a bug, please file an issue there instead of just mentioning it here. Discussion otherwise is fine.




  5. Hat Example

    This is an example of a hat. This example requires the PC version of the 'Don't Starve Mod Tools'.




  6. Character custom voice tutorial and custom item sounds

    Note: this file will not run as a independent mod, its more of a toolbox if anything. Also its recommended to have some modding experience as the tutorial isn't beginner friendly.
    This file is a tool box and template for making custom character voices and other item sounds as well. It contains a few common armor, structure, and weapon sounds that the base game uses, along with notes about them that may prove useful. The code is preset to follow the lua files stored inside so its less of a hassle trying to start from scratch. Last this file is subject to updates to keep up with don't starve together adding more types of voices like emotes, pose, and ghost voice.


    1 comment


  7. API Examples

    This mod is made by Ipsquiggle at Klei to show off various features of the mod API.
    This mod is not meant to be played. It is for scripting demonstration only.
    I'll keep this up-to-date as I add functions to the API so you have an example of how they are used.

    Updated for the Stuff of Nightmares release! Tonnes of new functions and examples to check out!




  8. Smashtemplate

    This is a template fighter for the Smashup mod for Don't Starve Together! 
    Smashup mod can be found here: https://steamcommunity.com/sharedfiles/filedetails/?id=2701285237
    Download and follow the guide in MODDING_GUIDE_README.lua
    Follow along with video tutorials: https://youtube.com/playlist?list=PL0je6QsFGE5DhpTPLc-w7wIWysRgfAyEL




  9. PyWitch: Twitch Chat Integration

    PyWtich: Twitch Chat Integration
    This mod uses from a external tool called PyWitch Client to capture Twitch events, like chat messages, and show these events in-game.
    For this version, only chat-messages are being integrated.
    Everything is open source, so you can check PyWitch, PyWitch Client and PyWitch Auth in my Github!
    How to use
    First, you need to download PyWitch Client from the RELASES page in my Github. You can do so by clicking this text
    I strongly recomend you to download it from source and run it using Python
    After downloading and openning it, read the EULA. Since PyWitch Chat read from your Twitch Chat, your authorization will be required in the next step.
    If you agree with the EULA, PyWitch Client will be ready to use.
    Now you need to write your channel in the "channel box" (you can find your channel by acessing it on Twitch and reading the current URL).
    Feel free to disable all features, leaving only PyWitch Chat enabled. The other features will be avaible in the following versions of this mod.
    After that, click "Start PyWitch Server". Now a tab in your browser will be open, requesting authorization. This authorization is necessary to PyWitch Client be able to read your chat messages.
    The authorization will redirect you to a tab with the name of all streamers that are using PyWitch Auth! Please consider visiting and supporting these Streamers channels!
    For safety reasons, after you get your token from PyWitch Auth, it will be destroyed from the server, so if your token become invalid, a new one need to be generated.
    Now, just wait for PyWitch Client to establish connection with Twitch server and its done! You can verify its working by acessing the following localhost URL:
    If you see an empty json "{}", PyWitch Client started correctly
    Now, send a message in your Twitch Chat and hit the refresh button in the PyWitch Client TMI URL.
    If everything is working fine, you will see an json with your message and display name.
    And its done!
    In game, you just need to install the mod to your server and, in-game, open the PyWitch Menu by click its logo in the bottom left corner and hit the "Activate" button!
    Now you will see the following Twitch Chat messages in your game!!
    Upcoming features
    As you can see from PyWitch and PyWitch Client, it already has some extra features. In the upcoming versions of this mod you will be able to capture Twitch Chat Redemptions in your server, making unique events and interactions to your game!
    How it work
    Don't Starve Together provides an internal function to perform REQUESTS on HTTP servers, which is very great to access data from server. However, Twitch Events, like chat messages and chat redemptions can only be accessed by WebSockets.
    So, I developed a Python library to capture these events from Twitch. This library is called "PyWitch", and its source can be accessed by the following URL:
    Ok, we are able to recover Twitch Events using a Python script... But we need to transfer that to Don't Starve Together.
    To do so, I developed PyWitch Client, which is a GUI Interface combined with Web Framework (Flask). Its main purpose is to get events from Twitch using PyWitch and provide them on a localhost endpoint using Flask. Its source can be accessed by the following URL:
    Now we can access Twitch Events from an HTTP server provided by PyWitch Client, the only remaining thing to solve is the token authentication.
    Token authentication is made server side PyWitch Auth, which the source can be seen in the following URL:
    PyWitch Auth receives code from Twitch Authorization page and perform the required OAuth flow to generate the associated access token.
    Any token is stored PyWith Auth server for more than 120 seconds. If you are not able to recover your token in this time, it will be destroyed. Every token generated in the server has an unique 128 characters state-code used for token request.
    The server only will store public information about your Twitch user, like 'Display Name'. So I can recommend your live to other streamers
    Special thanks!
    I want to thanks HypeZ, 2000 and Butterflyholix for helping me testing this mod!

    Workshop Link:




  10. Spriter Example: Equippable Item

    This is an example of an equippable item made in Spriter. This example requires the pc version of the Steam Workshop 'Don't Starve Mod Tools' to be installed.
    Big thanks to the Waverly Mod Team for letting me use their art!




  11. Music Mod Guide (DST)

    This is a music mod guide for Don't Starve Together that can also be used for Don't Starve. It is created by me, and contains links to other files needed. This is a current guide and should help more than the extremely outdated one from 2011. 
    Search me up on Steam to see my music mods. My Steam name is TheScraps




  12. Speech Mod Template

    Back by my insistence, the Speech Modification Template!
    This file contains all you need to easily make speech file modifications on existing characters, or to make ones completely out of nothing for a custom character. Or even add or change quotes for Lucy or Pigmen!
    And now, it is fully updated both for the latest version of All's Well That's Maxwell, and the Reign of Giants "Feet of Strength" updates!
    I am merely continuing the work WrathOf started, but couldn't keep up with as he passed into inactivity. If he comes back one day and asks me to take this down, I will have to, i'm afraid. But until then, here you go. A nice little modder's tool.
    How to use:
    Download the proper file. If you're using the DLC, then you want version 1.6. Otherwise, stick with 1.5.
    Extract the zip file, then open the ExtraEnglish.lua file. Everything you need is there, all the generic describe quotes are alphabetized.
    Let me know if I missed anything important, or if there are some items missing from the template.




  13. Mods downloading issue

    I already subscribed mods and its always were been downloading ,but can't install and update.Before it's ok  , but after game update ,this  issue appeared. Plz guide me to solve.


    1 comment


  14. TEXTool v1.2

    TEXTool v1.2 by Handsomematt
    Converts Klei .tex files to .png
    Re-uploading this because it seems to be unavailable. Hope it's ok and the original author did not want it taken off.




  15. HUD Skins

    This library helps you to create your own custom HUDs! You can find the guide on using it here:




  16. Development tool

    This mod adds a Development Tool - It have been crated by Klei, to help with testing Don't Starve and RoG DLC. File "devtool.lua" can be found in vanilla game, in prefabs folder. This mod adds a remade version of it, that makes it possible to use in-game, along with couple of features.
    - can be used as weapon (range: 20, about half of a screen; damage: 10000)
    - can be used as axe, pick, shovel, hammer and net; every action is instant
    - creates large light spot around a holder, or around lying spot
    - provides health, hunger and sanity insta-regeneration
    - provides heat in Winter and (if RoG is enabled) act as cooler in Summer
    - act as Walking Cane, adding speed multiplier (about 2 times faster than normal)
    - has built-in prototyper, so you can prototype stuff anywhere and anytime
    - if you want to build anything, provides necessary resources
    - act as blinkstaff (you can teleport to a chosen spot)
    - almost every feature is configurable in mod configuration screen
    I'm uploading it here as a mod, because it really helps testing mods. It doesn't have a crafting recipe (obviously), so, Here as a console command that you have to type in console to get it:


    This mod is meant to be OP, because I made it to help testing mods...

    Consider that before posting a comment...
    Have fun with testing mods




  17. [API] Skins for modded items

    This is the API for making your own skins for modded items. Guide on how to do it is here:




  18. Texture and Atlas Packer

    This program can be used to create a single texture and atlas file from multiple images.
    VirusTotal: Here
    Unpack Function:
    The unpack function allows the end user to break down Texture (.tex) files into their base image into a Portable Network Graphics (.png) file.
    When adding files instead of adding Image Files, select 'Texture Files' from the drop down. Add the Texture (.tex) files you wish to unpack and click the Unpack button. If you press the Unpack button and no Texture (.tex) files are in the list, it will skip operations. If a Texture (.tex) file is in the list and you press the Pack button, the pack function will skip the Texture (.tex) file.
    NOTE 1:
    This required .NET Frameworks 4.6 in order to run it correctly. Please download it from the Microsoft Website if you're not running Windows 10.




  19. Don't Starve Hamlet PT-BR

    Translation for Don't Starve Hamlet - in progress


    1 comment


  20. Sample Mods

    These are official sample mods developed by Klei. They are very small and barebones, in order to get you started with modding. These are meant to serve as a starting point only and are not complete mods on their own!
    Sample Prefab
    This mod demonstrates adding a new object to the world which can also be put in the player's inventory. For testing purposes, one is added to the player's pockets every time the game starts.
    Sample Character
    Use this as a starting place for your own characters! Contains template artwork for character animations, saveslot portraits, and more! Note: This will require TEX tools in order to create .tex files from the provided .png images.
    Also note that the template for the bigportrait is in it's own zip file for download size reasons, but both samplecharacter.zip and samplecharacter_bigportrait.zip together make the Sample Character mod and templates.
    Sample Mod
    A demonstration of very basic mod setup, including attaching a custom components and setting tuning variables.




  21. Domo's Don't Starve Character Creator

    This is the download page for Domo's Don't Starve Character Creator tool.  It is a plugin for Adobe Flash, and requires that you have Adobe Extension Manager installed.  Instructions on its use can be found here.  Enjoy!




  22. OmniKey

    A Don't Starve Together Mod. Add keybindings to use with tools, weapons, armor and much more.
    Keybindings can be changed in the configuration:
    Default Key Function G Equip best weapon by damage C Equip best armor V Equip best helmet 1 Equip best axe 2 Equip best pickaxe 3 Equip best shovel 4 Equip best scythe, requires scythes mod H Use best healing item J Eat food Also when unequiping the hand slot using the keybindings it automatically equips a cane if available
    Download latest release from github




  23. CaseReplace Tool

    This contains a little tool called CaseReplace that I whipped up because I got tired of using search & replace with different letter cases when renaming characters for Don't Starve.
    It runs a search & replace process, replacing one name with another in all the relevant files while preserving case (so, for example, "oldname" will become "newname" while "OLDNAME" will become "NEWNAME").
    It also renames all the files and directories accordingly (this can be turned on or off).
    I bundled a batch file named RenameDSCharacter with it which runs the script using the parameters you would normally need in order to make the replacements for a standard Don't Starve character (it basically searches everywhere except zip files).
    This tool performs a simple search & replace. It doesn't know that you only want to change text when it's referring to a character name.
    Therefore the name you replace needs to be unique and only appear when as the name of that character!
    If your character is named "e" and you run this tool to replace "e" with "a" you'll most certainly break your mod and nothing will work.
    Also, this tool has no undo option (replacing "a" with "e" won't undo it), so it's highly recommended you back your files up before using it.
    I have tested it but not rigorously, so it's best to make a backup before running this.
    I will not be held responsible for the loss of your work or data as a result of using this tool.
    You need Python 3 to use them, so if you don't have it and you want to use this tool, go get it.
    I was using Python 3.6.6 when I made it but it's probably OK to use any version of Python 3.
    To use it, first extract it into your mod folder.
    Now you have two options:
    Double-click the file called RenameDSCharacter.bat and when prompted enter the name of the character you want to replace followed by the new name you want it to have (it asks you for those two; just follow the instructions). Run RenameDSCharacter.bat from command prompt and give it the current name and the new name as parameters (in that order). If you really want to, or if there's a problem making it get to the right files or something, you can also use the CaseReplace script directly.
    To do that, go to the folder in command prompt and type "python CaseReplace.py" (no quotes) followed by the parameters you want.
    You can run "python CaseReplace.py --help" to see a list of parameters 
    Enjoy your modding. =)


    1 comment


  24. KTEX+XML Decompiler

    Simple Java application that allows its user to split the contents of Klei's TEX files using their respective XML atlases. In other words...
    Using it is simple:
    - The first text field is for the XML file. It usually has the same name as the TEX file and is found in the same folder.
    - The second text field is for the PNG file. The tool will accept TEX files if it is put in the same folder as simplex's ktools.
    - The third field is for the output folder. All images contained in the PNG/TEX will be put there when they're extracted.
    As I've previously mentioned, this tool does NOT convert TEX files to PNG. It will make ktech from ktools do so if they are in the same folder. The second field's label will change from  to  if ktech.exe is detected.




  25. Extended Sound Mod Tutorial

    Based on this:
    This project is a complimentary one to help you understand FMOD, and to give you an idea of how to make complex sounds.
    Open the README.txt for more info.




  • Create New...