LeviLamina
Loading...
Searching...
No Matches
DedicatedServer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/IMinecraftApp.h"
7#include "mc/deps/core/islands/AppIsland.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12class AllowListFile;
13class FileArchiver;
15class LevelSettings;
16class Minecraft;
17class PermissionsFile;
19class TestConfig;
21namespace Automation { class AutomationClient; }
22namespace Bedrock { class ActivationArguments; }
23namespace Core { class FilePathManager; }
24// clang-format on
25
27public:
28 // DedicatedServer inner types define
29 enum class StartResult : int {
30 Success = 0,
31 PortOccupied = 1,
32 InvalidSettings = 2,
33 MissingDependency = 3,
34 RuntimeError = 4,
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
62 // NOLINTEND
63
64public:
65 // prevent constructor by default
66 DedicatedServer& operator=(DedicatedServer const&);
68
69public:
70 // virtual functions
71 // NOLINTBEGIN
72 // vIndex: 0
73 virtual ~DedicatedServer() /*override*/;
74
75 // vIndex: 5
76 virtual bool stop() /*override*/;
77
78 // vIndex: 8
79 virtual ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> getFileArchiver() const /*override*/;
80
81 // vIndex: 1
82 virtual ::Bedrock::NotNullNonOwnerPtr<::Minecraft> getPrimaryMinecraft() /*override*/;
83
84 // vIndex: 2
85 virtual ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> getAutomationClient() const /*override*/;
86
87 // vIndex: 3
88 virtual bool isEduMode() const /*override*/;
89
90 // vIndex: 4
91 virtual bool isDedicatedServer() const /*override*/;
92
93 // vIndex: 5
94 virtual void onNetworkMaxPlayersChanged(uint newMaxPlayerCount) /*override*/;
95
96 // vIndex: 6
97 virtual ::IGameModuleShared& getGameModuleShared() /*override*/;
98
99 // vIndex: 7
100 virtual void requestServerShutdown(::std::string const&) /*override*/;
101 // NOLINTEND
102
103public:
104 // member functions
105 // NOLINTBEGIN
106 MCAPI DedicatedServer();
107
108 MCAPI void initializeAppConfigs();
109
110 MCAPI void initializeBindings();
111
112 MCAPI void initializeCodeBuilder();
113
114 MCAPI void initializeHttp();
115
116 MCAPI void initializeImguiProfiler();
117
118 MCAPI void initializeLogging(::TestConfig& testConfig);
119
120 MCAPI ::DedicatedServer::StartResult runDedicatedServerLoop(
121 ::Core::FilePathManager& filePathManager,
122 ::PropertiesSettings& properties,
123 ::LevelSettings& settings,
124 ::AllowListFile& userAllowList,
125 ::std::unique_ptr<::PermissionsFile>& permissionsFile,
127 ::TestConfig& testConfig
128 );
129
130 MCAPI ::DedicatedServer::StartResult
131 start(::std::string const& sessionID, ::Bedrock::ActivationArguments const& args);
132 // NOLINTEND
133
134public:
135 // static functions
136 // NOLINTBEGIN
137 MCAPI static void
138 logAuthorityMode(::PlayerMovementSettings const& fromServerProperties, ::PlayerMovementSettings const& fromLevel);
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCAPI void* $ctor();
145 // NOLINTEND
146
147public:
148 // destructor thunk
149 // NOLINTBEGIN
150 MCAPI void $dtor();
151 // NOLINTEND
152
153public:
154 // virtual function thunks
155 // NOLINTBEGIN
156 MCAPI bool $stop();
157
158 MCAPI ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> $getFileArchiver() const;
159
160 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Minecraft> $getPrimaryMinecraft();
161
162 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> $getAutomationClient() const;
163
164 MCAPI bool $isEduMode() const;
165
166 MCFOLD bool $isDedicatedServer() const;
167
168 MCFOLD void $onNetworkMaxPlayersChanged(uint newMaxPlayerCount);
169
170 MCFOLD ::IGameModuleShared& $getGameModuleShared();
171
172 MCAPI void $requestServerShutdown(::std::string const&);
173 // NOLINTEND
174
175public:
176 // vftables
177 // NOLINTBEGIN
178 MCAPI static void** $vftableForAppIsland();
179
180 MCAPI static void** $vftableForIMinecraftApp();
181 // NOLINTEND
182};
Definition AllowListFile.h:13
Definition ActivationArguments.h:7
Definition AppIsland.h:15
Definition FilePathManager.h:12
Definition DedicatedServer.h:26
Definition FileArchiver.h:27
Definition IGameModuleShared.h:12
Definition IMinecraftApp.h:16
Definition LevelSettings.h:36
Definition Minecraft.h:53
Definition PermissionsFile.h:17
Definition PropertiesSettings.h:22
Definition TestConfig.h:10
Definition PlayerMovementSettings.h:15
Definition Alias.h:14