Skip to content

moeru-ai/airi-factorio

Repository files navigation

airi-factorio

Helper for アイリ to play Factorio with you.

Note

This project is part of the Project アイリ (Airi), we aim to build a LLM-driven VTuber like Neuro-sama (subscribe if you didn't!), if you are interested in, please do give it a try on live demo.

Development

Project Structure

It's hard to describe the project structure in a few words, but it currently looks like this:

project-structure

Start to develop

  1. Clone the repository:

    git clone https://github.com/moeru-ai/airi-factorio
  2. Install dependencies:

    pnpm i
  3. Create a symlink for the autorio mod:

    cd /path/to/airi-factorio
    
    ln -s /path/to/airi-factorio/packages/autorio/dist /path/to/factorio/data/autorio
    # If you are using DevContainer, you can use the following command:
    ln -s /workspace/airi-factorio/packages/autorio/dist /opt/factorio/data/autorio
  4. Copy and fill the .env file:

    cp packages/agent/.env.example packages/agent/.env.local
    cp packages/factorio-wrapper/.env.example packages/factorio-wrapper/.env.local

    If you are using DevContainer, you can set WS_SERVER_HOST and FACTORIO_WS_HOST and RCON_API_SERVER_HOST to localhost.

  5. Create a game save file, the save file path should be the same as the one in the .env file:

    /path/to/factorio/bin/x64/factorio --create /path/to/factorio/saves/save.zip
    # If you are using DevContainer, you can use the following command:
    /opt/factorio/bin/x64/factorio --create /path/to/factorio/saves/save.zip
    # If your machine is not x64, you can use the following command:
    box64 /opt/factorio/bin/x64/factorio --create /path/to/factorio/saves/save.zip
  6. Run the development script:

    pnpm run dev

Now you can use the commands in Factorio, the script will be compiled automatically, but you need to exit and re-enter the game to see the changes(no need to restart the game).

Credits

Thanks for the original idea and code: https://github.com/naklecha/factorio-automation