Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCON (Server & Client) #100

Closed
wants to merge 54 commits into from
Closed
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
5e3b22e
Add 'protobuf' library to project
Mauler125 Mar 2, 2022
f108edc
Merge branch 'NetCon' of https://github.com/Mauler125/NorthstarLaunch…
Mauler125 Mar 3, 2022
bc73758
RCON implementation
Mauler125 Mar 3, 2022
c07baa7
Cleanup and bug fixes
Mauler125 Mar 4, 2022
fbb581b
Add non-game netconsole client for RCON
Mauler125 Mar 4, 2022
f573cbc
Remove extraneous build platform
Mauler125 Mar 4, 2022
4b8bdb0
Add proto compiler source files
Mauler125 Mar 4, 2022
60d1b48
Fix formatting
Mauler125 Mar 4, 2022
5fb1eee
Fix formatting
Mauler125 Mar 4, 2022
4cab6d7
Fix formatting
Mauler125 Mar 4, 2022
a5514e2
Light cleanup
Mauler125 Mar 4, 2022
56ccce6
Merge branch 'main' into NetCon
Mauler125 Mar 9, 2022
80ec6ee
Fix formatting
Mauler125 Mar 9, 2022
d6bf4b1
Merge branch 'main' into NetCon
Mauler125 Mar 13, 2022
da9e9cf
Merge branch 'main' into NetCon
Mauler125 Mar 15, 2022
178f1de
Merge branch 'main' into NetCon
Mauler125 Mar 21, 2022
b5405b4
Merge branch 'main' into NetCon
Mauler125 Mar 23, 2022
f1a8ce9
Merge branch 'main' into NetCon
Mauler125 Mar 27, 2022
9916463
Merge branch 'main' into NetCon
Mauler125 Mar 29, 2022
0c7fcc0
Merge branch 'main' into NetCon
Mauler125 Apr 12, 2022
44d1d69
Merge branch 'main' into NetCon
Mauler125 Apr 20, 2022
981e938
Fix script command not working on server
Mauler125 Apr 20, 2022
367a40f
Merge branch 'main' into NetCon
Mauler125 Apr 21, 2022
b2f3001
Merge branch 'main' into NetCon
Mauler125 Apr 25, 2022
f14a920
Merge branch 'main' into NetCon
Mauler125 May 5, 2022
680a9e3
Fix clang format
Mauler125 May 5, 2022
958c08c
Fix clang format
Mauler125 May 5, 2022
7091699
Fix clang format
Mauler125 May 5, 2022
54739a3
Fix clang format
Mauler125 May 5, 2022
af9e2fe
RCON system improvements
Mauler125 May 7, 2022
76ed31a
Improve regex in 'CNetAdr2::GetBase'
Mauler125 May 13, 2022
125266d
Optimize RCON
Mauler125 May 13, 2022
8d47d3b
Merge branch 'main' into NetCon
Mauler125 May 13, 2022
5c62807
ConCommandBase::IsCommand improvements
Mauler125 May 31, 2022
d913256
Light RCON cleanup
Mauler125 May 31, 2022
57e071f
Add 'chrono' to PCH
Mauler125 Jun 16, 2022
8e5b780
Merge branch 'main' into NetCon
Mauler125 Jun 16, 2022
9bba38c
Rename NetConsole output to 'netcon'
Mauler125 Jun 16, 2022
50bb5f3
Merge branch 'NetCon' of https://github.com/Mauler125/NorthstarLaunch…
Mauler125 Jun 16, 2022
be37827
Merge branch 'main' into NetCon
Mauler125 Jun 27, 2022
388b76e
Allow auth with RCON using 3rd argument from CCommand.
Mauler125 Jul 10, 2022
671de14
Merge branch 'main' into NetCon
Mauler125 Jul 17, 2022
566d3dc
RCON system overhaul
Mauler125 Aug 2, 2022
8f9e668
Only set a ConVar (ignoring ConCommand) if SERVERDATA_REQUEST_SETVALU…
Mauler125 Aug 2, 2022
4b09682
Netconsole cleanup
Mauler125 Aug 3, 2022
5d9bbd0
Do not link MFC to the module
Mauler125 Aug 3, 2022
24f561f
Adress reported issues
Mauler125 Aug 13, 2022
fe3eda7
Merge branch 'main' into NetCon
Mauler125 Aug 13, 2022
d3f8b9a
Attempt to fix CI compiler error
Mauler125 Aug 13, 2022
6c75343
Second attempt
Mauler125 Aug 13, 2022
4573d5e
Remove clashing define
Mauler125 Aug 14, 2022
a77c899
Trim trailing whitespaces
GeckoEidechse Aug 14, 2022
c628692
Merge pull request #2 from R2Northstar/fix-rcon-format-errors
Mauler125 Aug 14, 2022
f239792
Merge branch 'main' into NetCon
Mauler125 Aug 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
122 changes: 122 additions & 0 deletions NetConsole/NetConsole.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{abb29780-5fea-4108-8793-fa50fb9cdafa}</ProjectGuid>
<RootNamespace>NetConsole</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<TargetName>netcon</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>netcon</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)NorthstarDedicatedTest\;$(SolutionDir)NorthstarDedicatedTest\Include\;$(SolutionDir)NorthstarDedicatedTest\Include\protobuf\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Ws2_32.lib;$(SolutionDir)$(Platform)\$(Configuration)\libprotobuf_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)NorthstarDedicatedTest\;$(SolutionDir)NorthstarDedicatedTest\Include\;$(SolutionDir)NorthstarDedicatedTest\Include\protobuf\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Ws2_32.lib;$(SolutionDir)$(Platform)\$(Configuration)\libprotobuf_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\NorthstarDedicatedTest\cl_rcon.pb.h" />
<ClInclude Include="..\NorthstarDedicatedTest\net.h" />
<ClInclude Include="..\NorthstarDedicatedTest\NetAdr2.h" />
<ClInclude Include="..\NorthstarDedicatedTest\socketcreator.h" />
<ClInclude Include="..\NorthstarDedicatedTest\sv_rcon.pb.h" />
<ClInclude Include="netconsole.h" />
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\NorthstarDedicatedTest\cl_rcon.pb.cc">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\net.cpp" />
<ClCompile Include="..\NorthstarDedicatedTest\NetAdr2.cpp" />
<ClCompile Include="..\NorthstarDedicatedTest\socketcreator.cpp" />
<ClCompile Include="..\NorthstarDedicatedTest\sv_rcon.pb.cc">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="netconsole.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
63 changes: 63 additions & 0 deletions NetConsole/NetConsole.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="netconsole.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\NorthstarDedicatedTest\cl_rcon.pb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\NorthstarDedicatedTest\sv_rcon.pb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\NorthstarDedicatedTest\socketcreator.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\NorthstarDedicatedTest\NetAdr2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\NorthstarDedicatedTest\net.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="netconsole.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\cl_rcon.pb.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\sv_rcon.pb.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\socketcreator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\NetAdr2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\NorthstarDedicatedTest\net.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
21 changes: 21 additions & 0 deletions NetConsole/cl_rcon.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
syntax = "proto3";
package cl_rcon;
option optimize_for = LITE_RUNTIME;

enum request_t
{
SERVERDATA_REQUEST_VALUE = 0;
SERVERDATA_REQUEST_SETVALUE = 1;
SERVERDATA_REQUEST_EXECCOMMAND = 2;
SERVERDATA_REQUEST_AUTH = 3;
SERVERDATA_REQUEST_SEND_CONSOLE_LOG = 4;
SERVERDATA_REQUEST_SEND_REMOTEBUG = 5;
}

message request
{
optional int32 requestID = 1;
optional request_t requestType = 2;
optional string requestBuf = 3;
optional string requestVal = 4;
}
Loading