N.B. FLHOOK ONLY WORKS WITH THE 1.1 PATCH INSTALLED. USING IT WITH 1.0 WILL CRASH FLSERVER!
For the purpose of this readme, your Freelancer root installation folder (e.g. by default C:\Program Files (x86)\Microsoft Games\Freelancer
) will be referred to as .
.
- Copy all files from
dist\$Configuration
to your.\EXE
directory. You may selectively remove some of the default plugins as desired. - Edit
.\EXE\dacomsrv.ini
and appendFLHook.dll
to the[Libraries]
section. - Launch
FLServer.exe
, this should generate a freshFLHook.json
file. - Edit this file as needed and relaunch
FLServer.exe
.
Typically, plugins are distributed as DLL files (or archives with a DLL and configuration files).
The plugin DLL needs to be in .\EXE\plugins
. Verify with the plugin's documentation for additional setup steps.
All configuration options are found in .\EXE\FLHook.json
and are documented therein. Note that plugins may create additional options, either in this file or elsewhere. Refer to the plugin's documentation for more information.
User commands may be entered in game by every player in chat and can be enabled or disabled in the JSON config. Enter them in game to get a description, and use /help
to list all of them.
Starting with version 4.0, Visual Studio 2022 is required. To compile, simply build the solution as normal. The final build will be found in dist
, whereas intermediate files are located in int
and bin
.
If you wish to develop a new plugin within the solution, please see our Plugin Development
section in the docs.
If you would like the build process to copy FLHook as well as any enabled plugin, you may set the FLHOOK_COPY_PATH
environment variable to your .\EXE
directory. If it is not set, no such copy will occur. Unlike the dist
folder structure, no configuration subfolder will be created, so Debug and Release builds will overwrite one another.
- Install Visual Studio 2022, required toolchains/modules are:
MSVC v142 (x86), C++ MFC for v142 build tools, C++ ATL for v142 build tools, C++/CLI support for v142 build tools.
- If you don't already have vcpkg installed and setup, do so. Instructions available here: https://github.com/microsoft/vcpkg/tree/master#quick-start-windows - Ensure you do the steps pertaining to Visual Studio.
- Clone this repository (
git clone --recursive https://github.com/TheStarport/FLHook.git
) - Open
project\FLHook.sln
- Ensure you are on
Release
(orReleaseWithDebug
for development) and build the solution. - Build Solution. vcpkg should download a number of dependencies.
Merge requests are welcome. The old Forge SVN repositories are no longer tracked and will not be merged into this repository unless the commit author also creates a merge request here.
For any and all support, please join the Discord or visit the forums and look for the FLHook section. Github issues are available for bug reports and feature requests only.
- Initial FLHook development by mc_horst.
- Versions 1.5.5 to 1.6.0 by w0dk4.
- Versions 1.6.0 to 2.0.0 based on open-source SVN, supervised by w0dk4.
- Versions 2.1.0 and later on Github, supervised by FriendlyFire.
- Versions 4.0.0 and later on Github, supervised by Laz and Raikkonen.
Special thanks to:
- FriendlyFire for kicking off the initial rewrite.
- Nen for testing and plugin development.
- Aingar for extensive plugin development and code quality improvements.
- All those who have worked on FLHook before.
FLHook uses a heavily modified version of flcodec.c
.