Skip to content

Factorio plugin for Mumble's Positional Audio API. Requires Factorio positional audio mod to use.

Notifications You must be signed in to change notification settings

alifeee/Factorio-Proximity-Voice-Chat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Factorio Proximity Chat

Proximity/positional audio in Factorio!

Logo from mod portal

Positional audio GIF

To install

Installation instructions are on the "Proximity Voice Chat" Factorio mod page

Mumble plugin installation

  1. Download the latest factorio.mumble_plugin from the releases page.

  2. Install the plugin in Mumble

    Screenshot of mumble, installing plugin

  3. Enable positional audio

    Screenshot of mumble, enabling positional audio

  4. Change positional audio settings to personal preference (1 metre = 1 tile in-game). Hover over each setting to see what they do. My recommendation is the following settings:

    Screenshot of PA settings under Audio Output in Mumble

  5. Done! To check it works, launch Factorio, load a game with the Factorio mod, and check the Mumble chat. It should display "Factorio linked"

    Screenshot of mumble, showing Factorio linked

Factorio mod installation

Install the Proximity voice chat mod in-game.

Screenshot of Factorio, installing mod

Development

Mumble plugin

All files are in ./mumble

The main plugin is in plugin.c. For development guide, see plugin docs. This plugin reads player position information from the file on disk (via the Factorio mod) and attaches to the Mumble Positional Audio API.

To check that the data is sent to Mumble correctly, you can use the positional audio viewer (requires Mumble v1.5 - plugin may be broken on 1.5, see comment) Screenshot of mumble, viewing positional audio debugger

Building (via Actions)

The GitHub actions build the plugin for Windows and Linux. The plugin is output as a file factorio.mumble_plugin in the bundle artifact (deleted after 1 day).

Building (locally)

Linux (Ubuntu)

Install GCC and make

sudo apt install gcc
sudo apt install make

Run build commands

cmake -S ./mumble/ -B ./build/ && make -C ./build
Windows

Install Visual Studio Build Tools with "Desktop development in C++"

Screenshot of Visual Studio Build tools installer, showing "Desktop development with C++" selected.

Run commands (PowerShell). This will make a local Windows-only plugin (in build/factorio.mumble_plugin). You must manually install it into mumble by unloading any previous plugin, and installing this.

cmake -S .\mumble\ -B .\build\ -DCMAKE_C_COMPILER=cl; cmake --build .\build\ --config Release; bash package_windows.sh

Factorio mod

All files are in ./factorio.

The mod itself is very simple, and consists of a single control script in control.lua. This script dumps relevant information to a text file every few frames.

Mod information is held in info.json.

Example file output:

XYZ, Player, sUrface, Server
x: 5.65625
y: -2.8359375
z: 0
p: 1
u: 1
s: alifeee

File location

The log file is put in %application directory%/script-output/mumble_positional-audio_information.txt.

On Windows, that's

%APPDATA%/Factorio/script-output/mumble_positional-audio_information.txt

About

Factorio plugin for Mumble's Positional Audio API. Requires Factorio positional audio mod to use.

Topics

Resources

Stars

Watchers

Forks

Languages

  • C 76.4%
  • C++ 14.6%
  • CMake 8.0%
  • Other 1.0%