Console/Commands

The Command Console is enabled by default. If for whatever reason it is not, you first need to do some tweaking in your settings.ini of your save. This can be found in the "donotstarve" folder, located in the following paths : Windows, Mac: \Klei\DoNotstarve\settings.ini Linux:        ~/.klei/DoNotStarve/settings.ini

Locate the settings.ini and open it with Notepad and where it says [MISC]ENABLECONSOLE = false and rewrite it as [MISC]ENABLECONSOLE = true then save the document.

Then to open the console while in game by pressing "~" by default on English keyboards. This can be changed at any time in the controls menu. Also you can hide the console menu again by pressing Ctrl + L.

You will need to run this command once to enable console commands: RunS​cript("consolecommands")

Note: You have to re-enter every command after loading a world.

Simple commands
c_spawn("prefab", amount)
 * Spawn prefab

Improved DebugSpawn("prefab"), spawns amount of selected "prefab" under the mouse cursor. c_give("prefab", amount)
 * Give Item

''Spawns amount of selected "prefab" in your inventory. Only works with Backpacks and Items that can be stored in the inventory.'' c_doscenario(scenario)
 * Scenario (Not tested)

Apply a scenario script to the selection and run it. c_sethea​lth(percent)
 * Health

''Sets your health to selected percentage. Note: Use fractional numbers 0.90 = 90%.'' c_setsanit​y(percent)
 * Sanity

''Sets your sanity to selected percentage. Note: Use fractional numbers 0.90 = 90%.'' c_sethunger(pe​rcent)
 * Hunger

''Sets your hunger to selected percentage. Note: Use fractional numbers 0.90 = 90%.'' c_give("prefab", am​ount)
 * Spawn item

Creates selected item at given amount directly into your inventory. c_godmode
 * God Mode

''It won't drain Sanity, Hunger or Health when attacked anymore. Note that you will need to turn it off and on again after passing through a Worm Hole for it to work, and every time you load your world again it will turn off.''

c_speed(value)
 * Set running speed

''Standard runspeed is 1. 10 makes you a bit faster and with 40 you can walk through walls and "over" water. ''

There's some other commands, but they're hard to use and not very useful.

Player commands
​GetPlayer.components.builder:GiveAllRecipes​ You can craft everything.
 * Creative mode

​​GetPlayer.components.health:SetMaxHealth(value)​ Change the Maximum Health of your Characters
 * Maximum health

​GetPlayer.components.sanity:SetMax(value)​ Change the Maximum Sanity of your Characters
 * Maximum sanity

​GetPlayer.components.hunger:SetMax(value)​ Change the Maximum Hunger of your Characters
 * Maximum hunger

​GetPlayer.components.hunger:Pause(true)​ Your Characters won't starve anymore.
 * Pause hunger

​GetPlayer.components.beaverness:SetPercent(1)​ Turn Woodie into the Werebeaver.
 * Werebeaver

World commands
​c_gonext("prefab")​ ''After pressing enter, it teleports you to the first numerical instance of the named prefab. If multiple iterations of the prefab exist, a list of the entity numbers will be displayed in the console log, and each subsequent execution of the same command will transport the player from entity to entity in the order they were generated in the world.''
 * Teleport to Prefab

​TheInput:GetWorldEntityUnderMouse:Remove​ After pressing enter, it deletes the item under your mouse GetWorld.​minimap.MiniMap:ShowArea(0,0,0,10000)​
 * Delete Item Under Mouse
 * Reveal Map

​GetClock:MakeNextDay Skips the current day.
 * Skip day

​for x = 1, 50 do GetClock:MakeNextDay end​ ''Skips 50 days in this example. Replace 50 with the amount of days you want to skip. ''
 * Skip more days

WARNING: Too big values may freeze the game. (Depending on computer speed)

​LongUpdate(X)​ Skips X time units and performs the "LongUpdate" function on world objects
 * Skip time units and update

Note: There are 30 time units per segment. To skip a whole day one can either use LongUpdate(480) or use multiplicative values such as LongUpdate(X*16*30) or LongUpdate(X*TUNING.TOTAL_DAY_TIME), with X=days to skip.

Usage: ​GetClock:SetSegs(day,dusk,night) ''Sets amount of segments. Errors if adds up to over 16.'' Example: ​GetClock:SetSegs(14,1,1) Very long day, very short dusk and night (one segment for dusk and one for night)
 * Set segments

​GetClock:NextPhase​ Skips the current phase.
 * Skip phase

​GetSeasonManager:StartSummer​ Start summer
 * Start Summer

​GetSeasonManager:StartWinter​ Start winter
 * Start Winter

For the DLC the additional commands are GetSeasonManager:StartSpring​ and GetSeasonManager:StartAutumn​

​GetSeasonManager:StartPrecip​ Start rain.
 * Start Rain

​GetSeasonManager:StopPrecip​ Stop rain.
 * Stop Rain

​GetSeasonManager:DoLightningStrike(Vector3(GetPlayer.Transform:GetWorldPosition))​ ''Lightning strike on player. Will hit lightning rod instead if there is one near''
 * Do Lightning Strike

​print(math.sqrt(GetPlayer:GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse)))​ Prints the distance between player and object under mouse to the console log (displayed with Ctrl + L by default).
 * Measure Distance

Profile Commands
While profile commands are permanent and do not need to be done each time, they do need to be performed while in a game. You can unlock multiple characters at a time without requiring the line including the save until the very last step. GetPlayer.profile:UnlockCharacter("willow") GetPlayer.profile:Save ''Unlocks Willow. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("wolfgang") GetPlayer.profile:Save ''Unlocks Wolfgang. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("wendy") GetPlayer.profile:Save ''Unlocks Wendy. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("wx78") GetPlayer.profile:Save ''Unlocks WX-78. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("wickerbottom") GetPlayer.profile:Save ''Unlocks Wickerbottom. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("woodie") GetPlayer.profile:Save ''Unlocks Woodie. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("wes") GetPlayer.profile:Save ''Unlocks Wes. Does not need to be re-entered after the first time unless you lose your profile settings.'' GetPlayer.profile:UnlockCharacter("waxwell") GetPlayer.profile:Save '' Unlocks Maxwell. Does not need to be re-entered after the first time unless you lose your profile settings. '' GetPlayer.profile:UnlockCharacter("wigfrid") GetPlayer.profile:Save '' Unlocks Wigfrid. Does not need to be re-entered after the first time unless you lose your profile settings. '' GetPlayer.profile:UnlockCharacter("webber") GetPlayer.profile:Save '' Unlocks Webber. Does not need to be re-entered after the first time unless you lose your profile settings. '' ​GetPlayer.profile:UnlockEverything
 * Unlock Willow
 * Unlock Wolfgang
 * Unlock Wendy
 * Unlock WX-78
 * Unlock Wickerbottom
 * Unlock Woodie
 * Unlock Wes
 * Unlock Maxwell (character)
 * Unlock Wigfrid (Reign of Giants DLC)
 * Unlock Webber (Reign of Giants DLC)
 * Unlock Everything (Currently all characters)

Miscellaneous Commands
​ErasePersistentString("morgue")​ ''Clears the morgue. Requires closing and reopening the game for changes to be seen.''
 * Clear the morgue