Repo symbol

universelan repository

Repo symbol

universelan repository

Repo symbol

universelan repository

Repo symbol

universelan repository

Repo symbol

universelan repository

magic_enum

Repository Summary

Description UniverseLAN is a GOG Galaxy wrapper which allows LAN / Direct IP connections for games using Galaxy Multiplayer
Checkout URI https://github.com/grasmanek94/universelan.git
VCS Type git
VCS Version master
Last Updated 2025-07-17
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
magic_enum 0.9.3

README

```

Logo

Why?

This extends the “You buy it, you own it” and “DRM-Free” GOG philosophy to the multiplayer portion of all games that use GOG Galaxy.

Why UniverseLAN? Because the Universe is much bigger than the Galaxy!

What is UniverseLAN?

UniverseLAN is a GOG Galaxy wrapper which allows LAN / Direct IP connections for games using Galaxy Multiplayer (without using GOG Galaxy client).
This is useful in cases where: 1) You and other people own a game 2) All or some of you don’t have (reliable) internet access 3) And as such GOG Galaxy services won’t work 4) The game you want to play does not natively support LAN and/or DirectIP connections 5) But you all want to play together anyway

UniverseLAN allows you to play locally (e.g. LAN parties) without relying on internet access. UniverseLAN does not care if you are in a hotel room with bad WiFi or visiting a remote place with your friends! You can still enjoy your games, together.

I hope this does not need to be said, but:

  • UniverseLAN does not bypass or remove any DRM measures.
  • UniverseLAN does not bypass any cd-key or ownership checks.
  • UniverseLAN does not give you free DLC, you still need to buy DLC from GOG and install the DLC before being able to use any DLC.
  • UniverseLAN does not and can’t bypass any “always online” requirements.
  • UniverseLAN does not condone piracy, does not facilitate piracy, and will not facilitate piracy.
  • UniverseLAN is not a cheat tool and does not facilitate cheating, and will not facilitate cheating.
  • Please adhere to GOG requirements:

    Your account and games are for your personal use only. If you want to share them, you can always buy a gift for that person.

    The DRM-free nature of our service means that we trust you that this will not be abused.

  • The devices that you want to play on together do need to be able to reach each other on a reliable (local) network.

What is the status of UniverseLAN?

UniverseLAN is in development, and in beta.
Do expect bugs, possibly lost save files, updates and fixes.

At this moment in time you are expected to build it yourself to get up-to-date binaries.
Older binaries may be available at the ‘Releases’ page.
UniverseLAN requires a C++20 compatible compiler (VS 2019 16.10+ , GCC 13+).
The internal development name of this project is LanSupportForDRMFreeGames [LSFDRMFG], you might see references to that in the source.

Note

*** Some games do use GOG Galaxy but do not use GOG Galaxy for multiplayer.
They can use other services or custom networking implementations.
Such games might not be able to be played together using UniverseLAN wrapper.

How do you get .def files?

Check the Util README folder, or alternatively:

To generate the module definition files, use wrap_dll:

  • python3 wrap_dll.py Galaxy64.dll

Then remove on each line everything after (and including) = sign in .def file. Place in Source/DLLs/<version>/UniverseLAN.def

Instructions

  • Replace target game Galaxy.dll, Galaxy64.dll, REDGalaxy.dll or REDGalaxy64.dll to use UniverseLAN (check the .dll file properties to view the version information, else make an sha1 checksum and look in sha1_hashes.txt for the hash to determine the sdk version).
  • Place config files in the working directory* of the game
  • Place Server executable where config files are located.
  • Adjust config accordingly (e.g. point to a server address that hosts the UniverseLAN Backend, or if you want to connect to the first available server on the LAN just use 255.255.255.255 for a broadcast)
  • It’s recommended to NOT mix x64 and x86 platforms (e.g. x64 server with x86 game)
  • Do NOT mix different versions due to ABI incompatibility (e.g. 1.148.3.0 client with 1.100.2.0 server or vice versa), GOG does not keep their Galaxy library backwards compatible / upgradeable.
    • Please check the right side in this table and find the Galaxy version that your game is using, then, on the left side in the table the supported UniverseLAN release version is listed. Download that UniverseLAN version from the latest tag (by expanding “Assets”) on the releases page.
    • If there is no relevant entry in the version compatibility table, then that version is not (yet) supported.
  • One machine must host the server, the other machine must be correctly configured to point to the machine hosting the server.
  • Make sure the Galaxy ID numbers are different (Config.ini).

* - Usually the working directory is the root directory of the game, or where the .exe file is located. Some games use a proxy launcher .exe in the game root directory like Game_Name\Launcher.exe, which launches and executable from a subfolder like Game_Name\Binaries\Win64\RealGame.exe, this might indicate that config and server files should be placed in Game_Name\Binaries\Win64\.

For developers:

  • Don’t add GOG stdint.h when adding new SDK versions, remove it. If you try it WILL cause errors.
  • It is possible to support Galaxy SDK versions from 1.57 up to the newest ones (1.152.6+).
  • If someone has earlier SDK headers and/or documentation files please share <3

Debug Information

Debug (tracing) files can be found in <Configuration Files Directory>/tracing/<date time when application was launched>/.

Compilation

Windows

  • Visual Studio 2019 16.10 or newer required

Linux

  • Requires GCC 13 or newer.
  • Requires libtbb to be present (libtbb:i386 on 64-bit systems when compiling for x86)

Space

Please keep in mind that if all projects (tests, debug+release, interceptor, client, server, etc.) are built, around 50GiB of free space is required.

Help! My game and or GOG Galaxy version my game uses is not supported?

Please create an issue with the name of the game, game version, and if known the GOG Galaxy SDK version or Galaxy.dll / Galaxy64.dll sha2 or md5 hash.
For games I don’t own I need other people to test UniverseLAN development builds.
Another option would be to gift the game to people working on UniverseLAN project.

List / status of games

:white_check_mark: (N) - Players can play together, tested with N players [(2) would mean 2 clients].

File truncated at 100 lines see the full file

Repo symbol

universelan repository

Repo symbol

universelan repository

Repo symbol

universelan repository

Repo symbol

universelan repository