Console/Don't Starve Together Commands

提供:Don't Starve Wiki
ナビゲーションに移動 検索に移動
Icon Books.png このページは未翻訳の部分があります
編集ガイドを参考に翻訳を行い、記事を完成させましょう!

Console(コンソール)はデフォルトで有効になっています。何らかの理由で無効となっている場合は、ファイル「settings.ini」で設定を行う必要があります。これは「DoNotStarveTogether」フォルダにあります:

 Windows, Mac: <Documents>\Klei\DoNotStarveTogether\client.ini

Linux:         ~/.klei/DoNotStarve/client.ini

「settings.ini」データをメモ帳で開き、[MISC]の項目を探します。ENABLECONSOLE = trueであれば問題ありませんがfalseとなっている場合はtrueに書き換えましょう。

デフォルト設定であればコンソールはゲームプレイ中に「@」キーを押すことで開くことができます。キーは設定で変更可能です。

Notes:

  • ワールドをロードした後、ほぼすべてのコマンドは再入力する必要があります。
  • Luaは関数への可変引数をサポートしているため、例えばオブジェクトを一つだけ生成したい場合は"amount"を省略できます。 例)c_spawn('beefalo')
  • あなたがホストではない場合(またはあなたがdedicatedサーバーの管理者である場合)ほとんどのコマンドはリモートで実行する必要があります。コンソールを開いた状態でCtrlキーを押すと、リモートコマンドモードに切り替わります。いくつかのコマンド(マップの解放など) は引き続きローカルで実行する必要があります。

多くの Don't Starve Command は引き続きDSTでも利用できるのでこちらも参照してください。

簡単なコマンド

  • オブジェクト生成
c_spawn("prefab",amount)

DebugSpawn("prefab") の拡張版。「prefab」にオブジェクトのコード、「amount」に呼び出すオブジェクトの数を指定し、マウスカーソルの下に指定されたオブジェクトを生成します。

  • アイテム取得
c_give("prefab",amount)

「prefab」にオブジェクトのコード、「amount」に呼び出すオブジェクトの数を指定し、指定されたオブジェクトをインベントリ上に呼び出します。バックパックアイテムのようなインベントリに収めることができるオブジェクトのみ対象です。

  • Scenario (Not tested)
c_doscenario(scenario)

Apply a scenario script to the selection and run it.

c_sethea​lth(percent)

「percent」の部分に任意の数値を入れることでそれに応じた現在の体力を指定できます。例:0.90 = 90%

c_setsanit​y(percent)

「percent」の部分に任意の数値を入れることでそれに応じた現在の正気度を指定できます。例:0.90 = 90%

c_sethunger(pe​rcent)

「percent」の部分に任意の数値を入れることでそれに応じた現在の満腹度を指定できます。例:0.90 = 90%

c_setmoisture(pe​rcent)

「percent」の部分に任意の数値を入れることでそれに応じた現在の濡れ度を指定できます。例:0.90 = 90%

  • 体温の指定
c_settemperature(degrees)

「degrees」の部分に任意の数値を入れることでそれに応じた現在の体温を指定できます。例:30 = 30°

  • ゴッドモード
c_godmode()

体力、正気度、満腹度が減らなくなり、あらゆるダメージを受けなくなります。ゴッドモード中にはコマンドを使用してステータスを変更することはできません。あなたが死んでいる場合はあなたを復活させます(c_godmode()で復活した場合、ゴッドモードにはなりません)。コマンドをもう一度入力するとゴッドモードを解除できます。

  • スーパーゴッドモード
c_supergodmode()

ゴッドモードと同じ効果に加えて、使用時にステータスを全回復させます。あなたが死んでいる場合はゴッドモードと同じようにあなたを復活させます(c_supergodmode()で復活した場合、ゴッドモードにはなりません)。コマンドをもう一度入力するとゴッドモードを解除できます(c_godmode()でも解除可能)。

  • 移動速度倍率変更
c_speedmult(multiplier)

「multiplier」に任意の数値を入れることで移動速度の倍率を変更できます。標準の移動速度は1.2です。2と入れると二倍の速さで移動でき、20以上の倍率を入力することで壁を通り抜け、水の上を簡単に歩くことができます。

他にもたくさんのコマンドがありますが、それらは使いにくく、あまり役に立ちません。

Player commands

Note: Most of them will not work if you are a client and not an admin sending a remote control ( switching to remote mode with Ctrl ) .

  • Action Prediction
ThePlayer:EnableMovementPrediction(enable)

Enabled by default, setting it to "false" will exchange rubberbanding for choppiness, but is often helpful for combat. This only does anything if executed by a client, hosts do not have prediction.

  • Creative mode
ThePlayer.components.builder:GiveAllRecipes()

You can craft everything.

  • Maximum health
​ThePlayer.components.health:SetMaxHealth(value)

Change the Maximum Health of your character

  • Maximum sanity
ThePlayer.components.sanity:SetMax(value)

Change the Maximum Sanity of your character

  • Maximum hunger
ThePlayer.components.hunger:SetMax(value)

Change the Maximum Hunger of your character

  • Pause hunger
ThePlayer.components.hunger:Pause(true)

Your character won't starve anymore.

  • Damage Multiplier
ThePlayer.components.combat.damagemultiplier = value

Changes the Damage Multiplier of your character.

  • Werebeaver
ThePlayer.components.beaverness:SetPercent(.01)

Turn Woodie into the Werebeaver. Change the .01 to 1 if you want to get out of Werebeaver form.

Other Player Commands

Note: Many of the following commands that are normally applied to your player, such as c_godmode() or c_sethealth(1), can be applied to other players by using c_select(AllPlayers[number]) first. So you will have the need for a playerlist to get the player numbers:

  • List all players with username and player number.
c_listallplayers()
  • Get a certain player
AllPlayers[number]

AllPlayers[1] will get ThePlayer if you are the host. Other players should have numbers as shown on the scoreboard (In certain situations, the number may be wrong. You can be more precise by using c_listallplayers() first to see the username and character for each player number.. Most of ThePlayer commands can be used with AllPlayers[number] instead of ThePlayer.

  • Apply a command to all players
for k,v in pairs(AllPlayers) do command end

Replace command with another command, using "v" instead of AllPlayers[number]. For example, "for k,v in pairs(AllPlayers) do c_move(v) end" will move all players to the mouse position.

  • Move another player
c_move(AllPlayers[number])

Moves the player to the cursor position.

  • Kill a player
AllPlayers[number]:PushEvent('death')

Kills the player.

  • Resurrect a player
AllPlayers[number]:PushEvent('respawnfromghost')

Resurrects the player.

  • Teleport to a player
c_goto(AllPlayers[number])

Teleports you to to the player corresponding to the player number from c_listallplayers().

  • Drop a player's inventory items
AllPlayers[number].components.inventory:DropEverything()

Drop everything from player's inventory corresponding to the player number from c_listallplayers()

  • Despawn a player's character (returns to selection screen for repicking)
c_despawn(AllPlayers[number])

This will delete their items, so it is recommended that you kill them first to drop their items, or let then DropEverthing() as shown above.

As of June 25, 2016, a new set of commands are introduced to call players. You can call a player by their player name instead of player number UserToPlayer('PlayerName'). For example, to kill a player called 'PlayerA' with player number 5, instead of doing:

AllPlayers[5]:PushEvent('death')

This requires you to first run c_listallplayers() and figure out player number.

you can simply do this:

UserToPlayer('PlayerA'):PushEvent('death')

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.

  • Delete Item Under Mouse
ConsoleWorldEntityUnderMouse():Remove()
c_select():Remove()

After pressing enter, it deletes the item under your mouse. Use the second command on dedicated servers, the first command will not work.

  • Reveal Map
minimap = TheSim:FindFirstEntityWithTag("mini­map")
TheWorld.minimap.MiniMap:ShowArea (0,0,0,10000)

This is a local-only command and will not work if you are a client.

  • Skip day
​TheWorld:PushEvent("ms_nextcycle")
  • Skip time
TheWorld.net.components.clock:OnUpdate(16*30*x)

Skips x days. Change x to skip more days or parts of days (e.g. 16*30*4.5 to skip 4.5 days) WARNING: Too big values may freeze the game. (Depending on computer speed)

  • Skip time units and update
LongUpdate(X)

Skips X time units and performs the "LongUpdate" function on world objects

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.

  • Skip phase
TheWorld:PushEvent("ms_nextphase")

Skips the current phase.

  • Set segments
TheWorld:PushEvent("ms_setclocksegs", {day=x,dusk=y,night=z})

Sets amount of segments. Errors if x + y + z adds up to over 16. Note that this will get reset the next day.
Example:

TheWorld:PushEvent("ms_setclocksegs", {day=14,dusk=1,night=1})

Very long day, very short dusk and night (one segment for dusk and one for night)

  • Set season segments
​TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=sx,dusk=sy,night=sz}, winter={day=wx,dusk=wy,night=wz}})

Sets amount of segments. Errors if x + y + z adds up to over 16. Unlike setclocksegs, this is permanent.
Example:

TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=14,dusk=1,night=1}, winter={day=13,dusk=1,night=2}})

Very long day, very short dusk and night (one segment for dusk and one for night), with a slightly longer night in winter.

  • Set season lengths
TheWorld:PushEvent("ms_setseasonlength", {season="summer", length=15})

Sets the lengths of the seasons.

  • Start Summer
TheWorld:PushEvent("ms_setseason", "summer")

Start summer

  • Start Winter
TheWorld:PushEvent("ms_setseason", "winter")

Start winter

When the RoG DLC is added, the additional commands will likely be TheWorld:PushEvent("ms_setseason", "spring")​ and TheWorld:PushEvent("ms_setseason", "autumn")​

  • Start Rain
TheWorld:PushEvent("ms_forceprecipitation")

Start rain.

  • Stop Rain
TheWorld:PushEvent("ms_forceprecipitation", false)

Stop rain. This also includes Frog Rain.

  • Do Lightning Strike
TheWorld:PushEvent("ms_sendlightningstrike", ConsoleWorldPosition())

Lightning strike on mouse cursor. Will hit lightning rod instead if there is one near

  • Meteor Strike
c_spawn("shadowmeteor", 1)

Meteor strike on mouse cursor. Spawns different kind of rocks randomly.

  • Activate all Events
for k, v in pairs(SPECIAL_EVENTS) do if v ~= SPECIAL_EVENTS.NONE then local tech = TECH[k] if tech ~= nil then tech.SCIENCE = 0 end end end function IsSpecialEventActive(event) return true end

Activates all Events on the same time.

  • Measure Distance
print(math.sqrt(ThePlayer:GetDistanceSqToInst(ConsoleWorldEntityUnderMouse())))

Prints the distance between player and object under mouse to the console log (displayed with Ctrl + L by default).

Network/Server Commands

  • Kick/Ban a player
TheNet:Kick(userid)
TheNet:Ban(userid)

Note that this can be accomplished more easily through the scoreboard. The userid can be obtained from the AllPlayers table. Once you've found the number of the player you want to kick (as shown above in the Other Player Commands section), you can use AllPlayers[#].userid.

Example:

c_listallplayers()
[1] (KU_aabbccdd) Player1 <wolfgang>

[2] (KU_AABBCCDD) Player2 <wolfgang>

if Player2 is going to be banned from the server, console command can be written as

TheNet:Ban(AllPlayers[2].userid)

or

TheNet:Ban("KU_AABBCCDD")

  • Temporarily Ban a player
TheNet:BanForTime(userid,time_in_seconds)

Player can be banned for a short period of time. userid stands for the KU id of the player to be banned. Once it is obtained it can be put in this format:

TheNet:BanForTime("KU_aabbccdd", 120).

This will ban the player with specified KU id for 120 seconds. This command should be entered to both servers if server has multi-level option (caves and overworld).

  • Connect to a server
c_connect("IP address", port, "password")

If connecting conventionally doesn't work, it is possible to connect directly to an IP address. By default, the port is 10999. If there is no password, you can leave that part out: c_connect("10.0.0.8", 10999)

  • Reload the world
c_reset()

Reloads the world without saving. This command may crash your game if you are a client (unless you send it as a remote command).

  • Regenerate the world
c_regenerateworld()

Regenerates specified items in a world.

  • Regenerate a world shard
c_regenerateshard()

Regenerates specified items in a shard.

  • Save the server
c_save()

Forces the server to save immediately (servers normally autosave whenever night finishes).

  • Shut down the server
c_shutdown( true / false)

true will save the game, false will exit without saving. c_shutdown() is the same as c_shutdown(true).

  • Roll back the server
c_rollback(count)

Rolls back a server by the given number of saves. c_rollback() will roll it back by one, while c_rollback(3) will roll it back three.

  • Enable/Disable new player joining
TheNet:SetAllowIncomingConnections( true / false )

Setting it to true is the default behavior (people can join). Setting it to false prevents anyone from joining.

  • Make a server announcement (for dedicated server console)
c_announce("announcement")

This allows you to announce server shutdowns/restarts so players do not just get disconnected without warning.

Miscellaneous Commands

  • Clear the morgue
ErasePersistentString("morgue")

Clears the morgue. Requires closing and reopening the game for changes to be seen.

  • Count the number of something in the world
c_countprefabs("prefab")

On dedicated servers the result is printed on the server console

  • Spawn Wormhole
  1. Sadly no one line command, follow steps instead.
  2. Spawn wormhole 1 using this command: worm1 = c_spawn("wormhole")
  3. Spawn wormhole 2 using this command: worm2 = c_spawn("wormhole")
  4. Create connections forth: worm1.components.teleporter.targetTeleporter = worm2
  5. And back: worm2.components.teleporter.targetTeleporter = worm1
  6. DONE!
  • Spawn a Domesticated Beefalo
local beef = c_spawn("beefalo"); beef.components.hunger:DoDelta(400); beef.components.domesticatable:DeltaTendency("DEFAULT", 1); beef:SetTendency(); beef.components.domesticatable.domestication = 1; beef.components.domesticatable:BecomeDomesticated();

To change tendency replace DEFAULT with one of the following. "RIDER", "ORNERY", "PUDGY"