diff options
| author | Dan Engelbrecht <[email protected]> | 2023-11-09 20:50:46 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-11-09 20:50:46 +0100 |
| commit | c289d408765fe47d54987bd49fcf277f2419104a (patch) | |
| tree | d76ac1fae0a2413f080c4ecfb0e7f281ed50f271 /src/zenserver/config.cpp | |
| parent | 0.2.31-pre1 (diff) | |
| download | zen-c289d408765fe47d54987bd49fcf277f2419104a.tar.xz zen-c289d408765fe47d54987bd49fcf277f2419104a.zip | |
option for zenserver - `--http-forceloopback` (#516)
* New option for zenserver - `--http-forceloopback` which forces opening of the server http server using loopback (local) connection (UE-199776)
* add fallback to local connection for asio if we get access denied on public port
Diffstat (limited to 'src/zenserver/config.cpp')
| -rw-r--r-- | src/zenserver/config.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/zenserver/config.cpp b/src/zenserver/config.cpp index 8fe4213cb..08ba6dc95 100644 --- a/src/zenserver/config.cpp +++ b/src/zenserver/config.cpp @@ -99,6 +99,10 @@ ValidateOptions(ZenServerOptions& ServerOptions) throw zen::OptionParseException("Invalid AES initialization vector"); } } + if (ServerOptions.HttpServerConfig.ForceLoopback && ServerOptions.IsDedicated) + { + throw zen::OptionParseException("Dedicated server can not be used with forced local server address"); + } } UpstreamCachePolicy @@ -788,6 +792,7 @@ ParseConfigFile(const std::filesystem::path& Path, LuaOptions.AddOption("network.httpserverclass"sv, ServerOptions.HttpServerConfig.ServerClass, "http"sv); LuaOptions.AddOption("network.httpserverthreads"sv, ServerOptions.HttpServerConfig.ThreadCount, "http-threads"sv); LuaOptions.AddOption("network.port"sv, ServerOptions.BasePort, "port"sv); + LuaOptions.AddOption("network.forceloopback"sv, ServerOptions.HttpServerConfig.ForceLoopback, "http-forceloopback"sv); LuaOptions.AddOption("network.httpsys.async.workthreads"sv, ServerOptions.HttpServerConfig.HttpSys.AsyncWorkThreadCount, @@ -1031,6 +1036,13 @@ ParseCliOptions(int argc, char* argv[], ZenServerOptions& ServerOptions) cxxopts::value<int>(ServerOptions.BasePort)->default_value("8558"), "<port number>"); + options.add_option("network", + "", + "http-forceloopback", + "Force using local loopback interface", + cxxopts::value<bool>(ServerOptions.HttpServerConfig.ForceLoopback)->default_value("false"), + "<http forceloopback>"); + options.add_option("httpsys", "", "httpsys-async-work-threads", |