Files
Commonwealth-Online-Public/plugin/xmake.lua
T
andrew 9ceb6601ae Add LAN discovery and Local servers UI
Adds LAN server discovery and a Local tab in the multiplayer UI so clients can find relays on the same LAN. Introduces a new F4T::LanDiscovery module (plugin/include/F4TLanDiscovery.h, plugin/src/F4TLanDiscovery.cpp) that probes LAN hosts via UDP discover (port 7778) and TCP welcome fallback (port 7777). Server-side support includes a UDP responder (server/lan_discovery.py) and integration in server_core.py to start/stop discovery.

Plugin changes (F4TServerBrowserBridge/Data) add background scanning, dispatch results to the game thread, new local-server storage and events (scanLocalServers, localServersUpdated, localScanStarted/localScanFinished), and small join/recent handling updates. UI changes (ui/.../app.js and components) add localServers state, scanning UX, Recent persistence (localStorage), and join logic for local/direct entries. Docs updated (docs/protocol.md, docs/dev-log.md, server/README.md) and build script links iphlpapi. Also removes two unused exported sprite PNGs.
2026-06-22 15:53:17 +12:00

34 lines
946 B
Lua

-- include subprojects
includes("lib/commonlibf4")
-- set project constants
set_project("CommonwealthOnline")
set_version("0.0.0")
set_license("GPL-3.0")
set_languages("c++23")
set_warnings("allextra")
-- add common rules
add_rules("mode.debug", "mode.releasedbg")
add_rules("plugin.vsxmake.autoupdate")
add_requires("nlohmann_json")
-- define targets
target("CommonwealthOnline")
add_rules("commonlibf4.plugin", {
name = "CommonwealthOnline",
author = "Commonwealth Online",
description = "Commonwealth Online F4SE plugin using CommonLibF4"
})
-- add src files
add_files("src/**.cpp")
add_headerfiles("src/**.h")
add_headerfiles("include/**.h")
add_includedirs("src")
add_includedirs("include")
add_includedirs("../ThirdParty/framework-F4-Conversion/example-f4se-plugin/src")
add_packages("nlohmann_json")
add_syslinks("ws2_32", "iphlpapi")
set_pcxxheader("src/pch.h")