User:Fried biter/workspace: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (re-initialize: temp work done)
Line 3: Line 3:


----
----
{{Languages}}
== 概要 ==
'''コンソール(Console)'''はFactorioのコマンドラインインターフェース。
ゲーム内コンソール(in-game console)は以下に用いられる。
* 他プレイヤーとのチャット
* コマンド/スクリプト/チートの実行
* ときどきステータス更新
以下の3種のコマンドがある。
* '''マルチプレイヤー(Multiplayer)''' - メッセージフィルタリング、ユーザBAN、などなど
* '''情報(Information)''' - ゲームに関する様々な情報を表示
* '''スクリプト/チート(Scripting/Cheating)''' - Luaスクリプト片を実行 (<span style="color:#FF0000">そのセーブで実績が無効になる</span>)
=== コンソールの利用 ===
コンソール窓は{{keybinding|/}}(スラッシュ)か{{keybinding|~}}(チルダ)キーで切り替えられる。
キー設定は'''Options Menu -> Keyboard -> Toggle Lua console'''から設定可能。
コンソールが開いている間、スクリーン下部でカーソルが点滅する。メッセージやコマンドを入力して'''Return'''を押すと送信(してコンソールも閉じる)。
メッセージやコマンドプレフィックスに関するドキュメントはこのページの更に下にある。
コンソールを閉じると最後のメッセージ/コマンドだけが表示されるが、徐々に消えていく(コンソールを開き直すと即座に直近のメッセージすべてが再表示される)。
デフォルトでは、全ての実行されたコマンドは全ユーザに見える。消える時間は'''Options Menu -> Other Settings -> Message Delay'''から設定可能。
コンソールを即座に隠したい場合、コンソールを開いて'''Escape''' キーを押す(か、メッセージやコマンドを入力しないまま'''Return''')。
これはコンソールを隠すだけでなく、直近のメッセージ/コマンドすべてを隠す。
コンソールは'''/clear'''コマンドでクリアできる。
コンソールはゲームコマンド(game command)同様、生Luaコードも受け付けることを覚えておこう。
=== コンソール履歴 ===
コンソールは備え付けの履歴を持つ。ややテキストエディタっぽく、一度に1行のテキストしか表示されない。
{{keybinding|&uarr;}}と{{keybinding|&darr;}}キーで履歴内を移動。
{{keybinding|&larr;}}と{{keybinding|&rarr;}}キーで現在表示している編集(削除、挿入など)対象のメッセージやコマンド内でカーソルを移動、ならびに再送信('''Return'''を押す)。
{{keybinding|Tab}}キーはコマンドやプレイヤーIDをオートコンプリートする。
== マルチプレイヤーチャット ==
特定のプレイヤーにプライベートメッセージを送るには'''/whisper''' (または'''/w'''):
<syntaxhighlight lang="lua">
/whisper <playerId> <message>
</syntaxhighlight>
最後にプライベートメッセージを受け取ったプレイヤーに返信するには'''/reply''' (または'''/r'''):
<syntaxhighlight lang="lua">
/reply <message>
</syntaxhighlight>
グループチャットは以下のように機能する:
<syntaxhighlight lang="lua">
hello my team!
</syntaxhighlight>
<syntaxhighlight lang="lua">
/s hello all players!
/shout same as /s
</syntaxhighlight>
これらはメインのチャット機能にすぎない。プレイヤーのBAN、無視、ミュートなどのオプションもある。完全なリストはコンソールで'''/help'''。
== コマンド ==
利用可能なコマンドのリストを見るには、コンソールで'''/help''' (または'''/h''')を入力。
利用可能なコマンドはFactorioのバージョンとゲームセットアップに依る。
<syntaxhighlight lang="lua">
/help
</syntaxhighlight>
[https://forums.factorio.com/viewtopic.php?f=3&t=32248 Factorio 0.14.4以降]では、'''/help'''コマンドは単にコマンドのリストを表示するだけである。コマンドの完全な詳細を得るにはコマンド名(スラッシュを除く)を'''/help''' (または'''/h''')の後に加える。例えば、 '''/evolution'''コマンドのヘルプは:
<syntaxhighlight lang="lua">
/h evolution
</syntaxhighlight>
=== スクリプト/チートコマンド ===
コンソールからLuaスクリプトを実行できる。
任意のコマンドラインインターフェースやブラウザのJavaScriptコンソールに類似した挙動をする。
これは非常に強力な機能で、チートもでき、なのでスクリプトコマンドを使用した瞬間<span style="color:#FF0000">実績はそのセーブに対して永続的に無効化される</span>。
スクリプトを実行するには、'''/command''' (または'''/c''')を前置する。例えば:
<syntaxhighlight lang="lua">
/c game.player.print 'hello me!'
</syntaxhighlight>
マルチプレイヤーゲームでは、adminのみがコマンドを利用可能で、コマンドは他の全プレイヤーにechoする。
マルチプレイヤーのserver adminは(RCON/server consoleからのみ)'''/c'''の代わりに'''/silent-command''' を用いることで、他のプレイヤーにechoされるのを防ぐことができる。
<syntaxhighlight lang="lua">
/silent-command game.player.print 'only admins can use (and see) silent commands'
</syntaxhighlight>
Mod製作者もまた、特別なコマンド'''/measured-command'''を利用可能。これは'''/c'''に似ているが、実行時間を測定する。
スクリプトのパフォーマンスチューニングにとても便利。
<syntaxhighlight lang="lua">
/measured-command game.player.print 'how much time does this take to run?'
</syntaxhighlight>
「スクリプトレット(scriptlets)」をコンソールにペーストする際、改行は無視される。
つまり、エディタではヒューマンリーダブルな形式で書いておいてコンソールにコピペできるので、理解と編集がちょっと楽になる。
== 基本的なコマンドと例 ==
=== 大きいスクリーンショット ===
HD画質のスクリーンショットを取る方法は以下。
ファイルはmodsフォルダ同様、[[application directory/ja]]の「script-output」と呼ばれるフォルダに置かれる。
画像はとても巨大になりうる。
<syntaxhighlight lang="lua">
/c game.take_screenshot{<parameter>=<value>,...}
</syntaxhighlight>
このコマンドは以下のパラメータを取る。
* showgui - Boolean値、 trueかfalse。 TrueならGUIがスクリーンショットに含まれる。
* resolution - xとyを{x = ''<x-size>'', y = ''<y-size>''}の形式で取る。
* show_entity_info - Boolean値、 Trueならalt infoがスクリーンショットに含まれる。
* zoom - ズームレベル。1は通常、2はエリアの半分にズームイン、0.5は倍のエリアにズームアウト、など。
例として、以下は1000x1000のスクリーンショットをalt-modeをONにして、でもGUIは表示せず、ズームレベル2で撮る。
<syntaxhighlight lang="lua">
/c game.take_screenshot{resolution = {x = 1000, y = 1000}, zoom = 2, show_entity_info = true}
</syntaxhighlight>
=== 計算機として使う ===
<syntaxhighlight lang="lua">
/c game.player.print(1234*5678)
</syntaxhighlight>
=== 高速に掘削 ===
<syntaxhighlight lang="lua">
/c game.player.force.manual_mining_speed_modifier=1000
</syntaxhighlight>
=== 高速に製作 ===
<syntaxhighlight lang="lua">
/c game.player.force.manual_crafting_speed_modifier=1000
</syntaxhighlight>
=== 全研究をアンロックし研究済みに ===
<syntaxhighlight lang="lua">
/c game.player.force.research_all_technologies()
</syntaxhighlight>
次節のコマンドでUndo。
=== 全研究を未研究に ===
手動で適用されたボーナスはリセットされない。
<syntaxhighlight lang="lua">
/c for _, tech in pairs(game.player.force.technologies) do
tech.researched=false
game.player.force.set_saved_technology_progress(tech, 0)
end
</syntaxhighlight>
=== 強さリセット ===
キル数、生産統計、技術、ボーナス、マップ状況を含む強さを全リセットする。
<syntaxhighlight lang="lua">
/c game.player.force.reset()
</syntaxhighlight>
=== 通常よりズームアウトする ===
ズームアウトしすぎるとパフォーマンスに問題を起こしかねないので注意。
<syntaxhighlight lang="lua">
/c game.player.zoom=0.1
</syntaxhighlight>
=== プレイ時間 ===
何時間何分何秒プレイしたか教えてくれる。
<syntaxhighlight lang="lua">
/time
</syntaxhighlight>
== インベントリ操作 ==
=== 資源の補充(油、鉄など) ===
ゲーム内の資源タイルにマウスオーバーした状態で
<syntaxhighlight lang="lua">
/c game.player.selected.amount=7500
</syntaxhighlight>
=== プレイヤーのインベントリにアイテム追加 ===
iron-plateの部分を欲しいアイテムの内部名称に置換して使うべし。
<syntaxhighlight lang="lua">
/c game.player.insert{name="iron-plate", count=100}
</syntaxhighlight>
例えば、エネルギーシステムのgod-modeインタフェースは以下。
<syntaxhighlight lang="lua">
/c game.player.insert{name="electric-energy-interface"}
</syntaxhighlight>
装備品付きで強力アーマーゲットだぜ。
<syntaxhighlight lang="lua">
/c local player = game.player
player.insert{name="power-armor-mk2", count = 1}
local p_armor = player.get_inventory(5)[1].grid
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "energy-shield-mk2-equipment"})
p_armor.put({name = "energy-shield-mk2-equipment"})
p_armor.put({name = "personal-roboport-mk2-equipment"})
p_armor.put({name = "night-vision-equipment"})
p_armor.put({name = "battery-mk2-equipment"})
p_armor.put({name = "battery-mk2-equipment"})
</syntaxhighlight>
=== チートモード ===
無限・無料製作。trueをfalseにすれば無効化。
<syntaxhighlight lang="lua">
/c game.player.cheat_mode=true
</syntaxhighlight>
== ワールド操作 ==
=== プレイヤー周辺のマップを確認 ===
[[radar/ja|レーダー]]風にプレイヤー周辺のマップを確認。
<syntaxhighlight lang="lua">
/c local radius=150
game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}})
</syntaxhighlight>
もしくはスタートポジションから
<syntaxhighlight lang="lua">
/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}})
</syntaxhighlight>
150は好きな半径に変更して構わない。大きくすればするほど時間食うけど。
確認されたマップが大きくなるとセーブファイルのサイズも増える。以下のコマンドで現在キューされているチャンク生成をすべてキャンセルし 0,0 周辺の半径32チャンク以外を除去する。
当該チャンク内のプレイヤーのものも除去される事に注意。
<syntaxhighlight lang="lua">
/c local surface = game.player.surface;
game.player.force.cancel_charting(surface);
local chunk_radius = 32;
for chunk in surface.get_chunks() do
  if (chunk.x < -chunk_radius or chunk.x > chunk_radius or chunk.y < -chunk_radius or chunk.y > chunk_radius) then
    surface.delete_chunk(chunk)
  end
end
</syntaxhighlight>
=== 夜をオフ ===
沈まない太陽。
<syntaxhighlight lang="lua">
/c game.player.surface.always_day=true
</syntaxhighlight>
=== ゲーム速度変更 ===
0.5で速度半分、1でデフォルト、2で倍速、など。最小は0.01。完了に長い期間待たなければならない場合など、様々なことに利用できる。大きくするとパフォーマンスが落ちるので注意せよ。
<syntaxhighlight lang="lua">
/c game.speed=X
</syntaxhighlight>
=== 高コスト(マラソン)かノーマルモードか ===
ノーマルから高コストモードプリセットに切り替える(研究コストと中間生成物の製作コストを変更)。
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=1
game.difficulty_settings.technology_difficulty=1
game.difficulty_settings.technology_price_multiplier=4
</syntaxhighlight>
ノーマルに戻す。
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=0
game.difficulty_settings.technology_difficulty=0
game.difficulty_settings.technology_price_multiplier=1
</syntaxhighlight>
=== 凍れる時間の秘法 ===
「BOOL」を「true」にすれば時間の進行が止まる。凍結解除には「false」にする。
<syntaxhighlight lang="lua">
/c game.player.surface.freeze_daytime=BOOL
</syntaxhighlight>
=== 汚染を全除去 ===
<syntaxhighlight lang="lua">
/c game.player.surface.clear_pollution()
</syntaxhighlight>
=== 友軍へのフレンドリーファイアを無効化 ===
<syntaxhighlight lang="lua">
/c game.player.force.friendly_fire = false
</syntaxhighlight>
=== 新たな資源パッチを追加 ===
プレイヤーキャラクターを中心に11x11の新たな資源パッチを生成。
パッチは完全な正方形だが、埋蔵量は自然生成と同様にランダムで中心部は多くの資源がある。
デフォルトでは2500-3000鉱石となる。
より大きなパッチが欲しいなら、「local size = 5」をより大きな数字に変更。
大きなパッチは指数的に多くの鉱石を含む。
30以上の数字は推奨できない。
より潤沢なパッチが欲しいなら、「local density = 10」をより大きな数字に変更。
大きすぎる数字を入れても害はないが、100以上が必要なことはまずないだろう。
生成される資源を選ぶには、下の方の「stone」を「iron-ore」「copper-ore」「coal」「uranium-ore」に変更。
<syntaxhighlight lang="lua">
/c local surface=game.player.surface
local ore=nil
local size=5
local density=10
for y=-size, size do
for x=-size, size do
a=(size+1-math.abs(x))*10
b=(size+1-math.abs(y))*10
if a<b then
ore=math.random(a*density-a*(density-8), a*density+a*(density-8))
end
if b<a then
ore=math.random(b*density-b*(density-8), b*density+b*(density-8))
end
surface.create_entity({name="stone", amount=ore, position={game.player.position.x+x, game.player.position.y+y}})
end
end
</syntaxhighlight>
=== 油パッチを追加 ===
3x3の9原油パッチを生成。
<syntaxhighlight lang="lua">
/c for y=0,2 do
for x=0,2 do
game.player.surface.create_entity({name="crude-oil", amount=5000, position={game.player.position.x+x*7-7, game.player.position.y+y*7-7}})
end
end
</syntaxhighlight>
もしくは、干渉が生じないようにランダムにするには
<syntaxhighlight lang="lua">
/c local position=nil
for i=1,9 do
position=game.player.surface.find_non_colliding_position("crude-oil", game.player.position, 0, i/2+1.5)
if position then
game.player.surface.create_entity({name="crude-oil", amount=5000, position=position})
end
end
</syntaxhighlight>
=== エンティティをカウント ===
local entityに格納されたstringを名前に含むエンティティ全てを数える。
<syntaxhighlight lang="lua">
/c local entity="belt"
local surface=game.player.surface
local count=0
for key, ent in pairs(surface.find_entities_filtered({force=game.player.force})) do
if string.find(ent.name,entity) then
count=count+1
end
end
game.player.print(count)
</syntaxhighlight>
=== 全パイプ・地下パイプを空にする ===
パイプに入ってほしくない流体が入ってしまったとき便利。
<syntaxhighlight lang="lua">
/c local surface = game.player.surface
local deleted=0
for key, entity in pairs(surface.find_entities_filtered({force=game.player.force})) do
if string.find(entity.name, "pipe") then
for i=1,#entity.fluidbox do
deleted = deleted + 1
entity.fluidbox[i] = nil;
end
end
end
game.player.print("Pipes emptied: "..deleted)
</syntaxhighlight>
== 敵/進化 ==
=== バイターがどのくらい進化したか確認 ===
"/c"で始まらないコマンドは実績を無効化しないことに気をつけよう。
<syntaxhighlight lang="lua">
/evolution
</syntaxhighlight>
=== 進化ファクター(evolution factor)をセット ===
範囲は0(ゲーム開始時)から1。
<syntaxhighlight lang="lua">
/c game.forces["enemy"].evolution_factor=X
</syntaxhighlight>
=== 時間に依る進化を無効化しつつ汚染に依る進化を加速 ===
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_evolution.time_factor=0
/c game.map_settings.enemy_evolution.pollution_factor=game.map_settings.enemy_evolution.pollution_factor*2
</syntaxhighlight>
最後の「2」はデフォルト汚染ファクターの倍加。他の数字に変えれば汚染ファクターをもっと大きく(小さく)できる。
=== 「敵」軍バイターを全滅させる ===
機動部隊とワームだけを殺し、巣は殺されないことに注意。
<syntaxhighlight lang="lua">
/c game.forces["enemy"].kill_all_units()
</syntaxhighlight>
=== 敵を鏖殺 ===
バイター、ワーム、基地すべてを殺す。敵であるものすべてが完全に殲滅される。探査済みの世界に存在する敵にのみ影響し、マップの未探索で生成されていない部分にはまだ敵がいる。
<syntaxhighlight lang="lua">
/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
entity.destroy()
end
</syntaxhighlight>
=== ピースフルモード有効化 ===
ピースフルモード(Peaceful mode)ではバイターが自発的に攻撃しない。falseをtrueにすれば無効化。
<syntaxhighlight lang="lua">
/c game.player.surface.peaceful_mode=true
</syntaxhighlight>
=== バイターの戦線拡大を無効化 ===
バイターが新たな巣を作らなくなる。
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_expansion.enabled=false
</syntaxhighlight>
== プレイヤーキャラクター ==
プレイヤーに直接的に関わるコマンド。
=== プレイヤーの位置を取得 ===
現在座標を表示。
<syntaxhighlight lang="lua">
/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)
</syntaxhighlight>
=== テレポート ===
プレイヤーを指定した場所に移動。前述したコマンドでプレイヤー座標を取得すれば、特定のプレイヤーにテレポートできる。
<syntaxhighlight lang="lua">
/c game.player.teleport({X, Y})
</syntaxhighlight>
世界の原点にテレポートするなら座標は0,0。
=== プレイヤーの色を変更 ===
"/c"で始まらないコマンドは実績を無効化しないことに気をつけよう。 COLORを色の名前で置換せよ。利用可能な色は以下。Black, blue, brown, cyan, gray, green, orange, pink, purple, red, white, acid, yellow。 色は[[:Wikipedia:ja:色空間|RGBA値]]で設定することもできる。
<syntaxhighlight lang="lua">
/color COLOR
/color r g b a
</syntaxhighlight>
=== god modeの有効化 ===
God modeはプレイヤーキャラクターをなくし、障害物を飛び越えられたりダメージを受けないようにしたりできる。
操作をプレイヤーから切り離す。
<syntaxhighlight lang="lua">
/c game.player.character=nil
</syntaxhighlight>
そうしたら、不要となったプレイヤーにマウスオーバーして破棄する。
<syntaxhighlight lang="lua">
/c game.player.selected.destroy()
</syntaxhighlight>
元に戻すには、プレイヤーキャラクターをスポーンさせる。以下のコマンドでこの世界のスポーン地点に新規プレイヤーを生成し、操作を結びつける。
<syntaxhighlight lang="lua">
/c game.player.create_character()
</syntaxhighlight>
== 研究 ==
=== 高速な研究を可能にする ===
<syntaxhighlight lang="lua">
/c game.player.force.laboratory_speed_modifier=1
</syntaxhighlight>
1は等速、2で倍速、3は通常の3倍… 100まではいけると思う。
=== 特定の技術を研究 ===
技術の内部名称は各ページのinfoboxで確認できる。小さな矢印をクリックすることで見られる(訳注:古い記述?2018年3月現在確認できず)。
<syntaxhighlight lang="lua">
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true
/c game.player.force.technologies['steel-processing'].researched=true
</syntaxhighlight>
=== 特定の技術を未研究に ===
技術の内部名称は各ページのinfoboxで確認できる。小さな矢印をクリックすることで見られる(訳注:古い記述?2018年3月現在確認できず)。
<syntaxhighlight lang="lua">
/c game.player.force.technologies['electric-energy-distribution-1'].researched=false; game.player.force.set_saved_technology_progress('electric-energy-distribution-1', 0)
/c game.player.force.technologies['steel-processing'].researched=false; game.player.force.set_saved_technology_progress('steel-processing', 0)
</syntaxhighlight>
=== 特定のレシピを解禁 ===
技術の内部名称は各ページのinfoboxで確認できる。小さな矢印をクリックすることで見られる(訳注:古い記述?2018年3月現在確認できず)。
<syntaxhighlight lang="lua">
/c game.player.force.recipes["electric-energy-interface"].enabled=true
/c game.player.force.recipes["rocket-silo"].enabled=true
/c game.player.force.recipes.loader.enabled=true
</syntaxhighlight>
全レシピを解禁
<syntaxhighlight lang="lua">
/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end
</syntaxhighlight>
=== 研究を即座に完了 ===
<syntaxhighlight lang="lua">
/c for name,technology in pairs(game.player.force.technologies) do technology.researched=technology.enabled end
</syntaxhighlight>
== コマンドラインパラメータ ==
'''バージョン0.15.13現在'''
コマンドラインパラメータはゲーム起動前にコマンドラインから設定でき、主に高度なユーザやサーバホストに有用。
(訳注: おそらく以下は-h の実行結果。原文はCOして残す)
一般的なオプション:
  -h [ --help ]                      ヘルプを表示
  --version                          バージョン情報を表示
  -v [ --verbose ]                  冗長なログを有効化
  -c [ --config ] PATH              使用するコンフィグファイル
  --no-log-rotation                  ログファイルのローテーションをしない
  --mod-directory PATH              使用するModディレクトリ
  --check-unused-prototype-data      アクセスされていないPrototype値に警告を出す
実行オプション:
  -s [ --map2scenario ] arg          マップからシナリオへの変換
  -m [ --scenario2map ] arg          シナリオからマップへの変換
  --apply-update arg                アップデートパッケージを即座に適用
  --create FILE                      新規マップを作成
  --map-gen-settings FILE            --createで使用するマップ生成設定。 data/map-gen-settings.example.json を参照
  --map-settings FILE                --createで使用するマップ設定。 data/map-settings.lua を参照
  --preset arg                      利用するマップ生成プリセットの名前
  --generate-map-preview FILE        マップのプレビュー画像を生成
  --map-preview-size SCALE (=1,024)  マッププレビューのサイズ(pixel)
  --map-preview-scale SCALE (=1)    マッププレビューのスケール(meters per pixel)
  --map-preview-offset X,Y (=0,0)    マップ中心のオフセット、メートル単位
  --start-server FILE                マルチプレイヤーサーバを開始
  --start-server-load-scenario FILE  マルチプレイヤーサーバを開始し、指定したシナリオをロード
  --start-server-load-latest        マルチプレイヤーサーバを開始し、最後の有効なセーブをロード
  --until-tick TICK                  指定したmap tickごとにセーブする
  --mp-connect ADDRESS              factorioを起動し指定したアドレスに接続
  --load-game FILE                  factorioを起動しシングルプレイヤーでゲームをロード
  --benchmark FILE                  セーブを読み込みベンチマークする
  --benchmark-ticks N (=1,000)      ベンチマークのtick数。デフォルトは1000
  --force-opengl                    レンダリングにOpenGLを使用
  --force-d3d                        レンダリングにDirect3Dを使用
  --fullscreen BOOL                  ウィンドウモードでゲームを起動(設定にセーブされる)
  --max-texture-size N              ゲームで使用するテクスチャの最大サイズ(設定にセーブされる)。2の冪かつ2048以上でなければならない
  --graphics-quality arg            利用可能な値: normal, low, very-low
  --video-memory-usage arg          利用可能な値: all, high, medium, low
  --gfx-safe-mode                    いくつかのグラフィック設定を、ほとんどの設定では動くだろう値にリセット
  --shader arg                      シェーダポストプロセッシングの有効/無効化(設定にセーブされる)
  --disable-audio                    音声の無効化。主に開発時、高速に起動させるために用いられる
サーバオプション:
  --port N                          使用するポート
  --bind ADDRESS[:PORT]              バインドするIPアドレス(と、オプションでポートも)
  --rcon-port N                      RCONに使用するポート
  --rcon-password PASSWORD          RCONに使用するパスワード
  --server-settings FILE            サーバ設定ファイルのPath。data/server-settings.example.json を参照
  --server-whitelist FILE            サーバホワイトリストファイルのPath。
  --server-banlist FILE              サーバBANリストファイルのPath。
  --console-log FILE                サーバログのコピーが保存されるファイルのPath。
  --server-id FILE                  サーバIDが保存され読み出されるPath。
<!--
General options:
  -h [ --help ]                      display help
  --version                          show version information
  -v [ --verbose ]                  enable verbose logging
  -c [ --config ] PATH              config file to use
  --no-log-rotation                  don't rotate log file
  --mod-directory PATH              Mod directory to use
  --check-unused-prototype-data      Print a warning for all prototype values that were not accessed
Running options:
  -s [ --map2scenario ] arg          map to scenario conversion
  -m [ --scenario2map ] arg          scenario to map conversion
  --apply-update arg                immediately apply update package
  --create FILE                      create a new map
  --map-gen-settings FILE            Map generation settings for use with --create. See data/map-gen-settings.example.json
  --map-settings FILE                Map settings for use with --create. See data/base/prototypes/map-settings.lua
  --preset arg                      Name of the map generation preset to be used.
  --generate-map-preview FILE        Generate preview images of the map
  --map-preview-size SCALE (=1,024)  Size (in pixels) of map preview
  --map-preview-scale SCALE (=1)    Scale (meters per pixel) of map preview
  --map-preview-offset X,Y (=0,0)    Offset of the center of the map, in meters
  --start-server FILE                start a multiplayer server
  --start-server-load-scenario FILE  start a multiplayer server and load the specified scenario
  --start-server-load-latest        start a multiplayer server and load the latest available save
  --until-tick TICK                  run a save until given map tick
  --mp-connect ADDRESS              start factorio and connect to address
  --load-game FILE                  start Factorio and load a game in singleplayer
  --benchmark FILE                  load save and run benchmark
  --benchmark-ticks N (=1,000)      number of ticks for benchmarking. Default is 1000
  --force-opengl                    use OpenGL for rendering
  --force-d3d                        use Direct3D for rendering
  --fullscreen BOOL                  start game in windowed mode (saved to configuration)
  --max-texture-size N              maximal size of texture that the game can use (saved to configuration). Should be power of two greater than 2048
  --graphics-quality arg            accepted values: normal, low, very-low
  --video-memory-usage arg          accepted values: all, high, medium, low
  --gfx-safe-mode                    resets some graphics settings to values that should work on most configurations
  --shader arg                      enable/disable shader postprocessing (saved to configuration)
  --disable-audio                    Disable audio. Mainly for faster startup during development.
Server options:
  --port N                          network port to use
  --bind ADDRESS[:PORT]              IP address (and optionally port) to bind to
  --rcon-port N                      Port to use for RCON
  --rcon-password PASSWORD          Password for RCON
  --server-settings FILE            Path to file with server settings. See data/server-settings.example.json
  --server-whitelist FILE            Path to file with server whitelist.
  --server-banlist FILE              Path to file with server banlist.
  --console-log FILE                Path to file where a copy of the server's log will be stored
  --server-id FILE                  Path where server ID will be stored or read from
-->
=== マルチプレイヤー ===
  --start-server SAVE
で、ヘッドレス(専用)サーバが起動する。GUIはない
  --mp-connect ADDRESS
ADDRESSはリモートホストのIP:Port。Portはoptional。
例:
  ./factorio --mp-connect 192.168.1.101
  ./factorio --mp-connect 192.168.1.101:2345
上記のように、ポートはアドレスの後にコロンで区切って記述する。
  --map2scenario SAVE
セーブのゲームをユーザシナリオに変換し、ゲームの状態をマップエディタで読み込めるようにする。
セーブゲーム名が「foo.zip」だとすると、'./factorio --map2scenario s1' とすればFactorioが読み込まれ、セーブファイルが開いてシナリオがシナリオフォルダにセーブされる。
== Mod作成ツール ==
バニラのゲームに存在するだいたいのものの内部名称のリストは[[data.raw/ja|data.raw]]で確認できる。
=== 研究済み技術一覧をファイルに書き込む ===
<syntaxhighlight lang="lua">
/c local list = {}
for _, tech in pairs(game.player.force.technologies) do
if tech.researched then
    list[#list+1] = tech.name
  end
end
game.write_file("techs.lua", serpent.block(list) .. "\n", true)
</syntaxhighlight>
=== 解禁済みレシピ一覧をファイルに書き込む ===
<syntaxhighlight lang="lua">
/c local list = {}
for _, recipe in pairs(game.player.force.recipes) do
if recipe.enabled then
    list[#list+1] = recipe.name
  end
end
game.write_file("recipes.lua", serpent.block(list) .. "\n", true)
</syntaxhighlight>
== 関連項目 ==
* http://lua-api.factorio.com/latest/ - 最新版のFactorio APIリファレンス(英語)

Revision as of 07:32, 20 March 2018

作業場/workspace 日本語話者の方、マサカリ投げてくださると助かります