Files
Commonwealth-Online-Public/plugin
andrew 4d43ecfc6c Include movement/cell/worldspace in transforms
Extend transform packets to carry movement metadata and optional cell/worldspace IDs. Public API updated (SendTransformPacket signature) and implementation now formats movementType, cellId and worldspaceId when present (buffer size increased and formatting safety checks added). Player tracking in main.cpp now computes PlayerLocation, detects cell/worldspace changes and large teleports (threshold 5000), sends immediate updates with movementType="cell_change"/"worldspace_change"/"teleport", and preserves last-sent state. Server logging updated to print movementType and extra fields. Dev log updated with an entry describing these changes.
2026-05-31 18:59:22 +12:00
..
2026-05-30 18:13:54 +12:00
2026-05-31 18:50:38 +12:00

Fallout4Together Plugin

This is the native Fallout4Together plugin using CommonLibF4.

Requirements

  • XMake [3.0.0+]
  • C++23 Compiler (MSVC or Clang-CL)

Getting Started

git clone --recurse-submodules https://github.com/libxse/Fallout4Together
cd Fallout4Together

Build

To build the project, run the following command:

xmake build

Note: This will generate a build/windows/ directory in the project's root directory with the build output.

Build Output (Optional)

If you want to redirect the build output, set one of the following environment variables:

  • Path to a Mod Manager mods folder: XSE_FO4_MODS_PATH

    or

  • Path to a Fallout 4 install folder: XSE_FO4_GAME_PATH

Project Generation (Optional)

If you use Visual Studio, run the following command:

xmake project -k vsxmake

Note: This will generate a vsxmakeXXXX/ directory in the project's root directory using the latest version of Visual Studio installed on the system.

Alternatively, if you do not use Visual Studio, you can generate a compile_commands.json file for use with a laguage server like clangd in any code editor that supports it, like vscode:

xmake project -k compile_commands

Note: You must have a language server extension installed to make use of this file. I recommend clangd. Do not have more than one installed at a time as they will conflict with each other. I also recommend installing the xmake extension if available to make building the project easier.

Upgrading Packages (Optional)

If you want to upgrade the project's dependencies, run the following commands:

xmake repo --update
xmake require --upgrade

Documentation

Please refer to the Wiki for more advanced topics.