@xmobitea/gn-server 2.4.7 → 2.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,11 +7,17 @@ declare class GetAnalyticsOperationRequest extends OperationRequest {
7
7
  timestamp?: number;
8
8
  analyticsItem?: boolean;
9
9
  country?: boolean;
10
+ requestComplete?: boolean;
11
+ operationSystem?: boolean;
12
+ databaseSystem?: boolean;
10
13
  isValidRequest(): boolean;
11
14
  }
12
15
  export interface AnalyticsRequestParams {
13
16
  analyticsItem: boolean;
14
17
  country: boolean;
18
+ requestComplete: boolean;
19
+ operationSystem: boolean;
20
+ databaseSystem: boolean;
15
21
  }
16
22
  export declare class GetAnalyticsRequestHandler extends RequestHandler {
17
23
  getCode(): number;
@@ -1,4 +1,5 @@
1
1
  export declare class DataSettingsParam {
2
2
  key: string;
3
+ displayName: string;
3
4
  permission: number;
4
5
  }
@@ -15,8 +15,11 @@ export declare class AnalyticsService implements IAnalyticsService {
15
15
  private currentMNUSince0h1;
16
16
  private currentMRT;
17
17
  private currentMRTSince0h1;
18
- private analyticsPrice;
18
+ private currentAnalyticsPrice;
19
19
  private currentCountry;
20
+ private currentOperationSystem;
21
+ private currentDatabaseSystem;
22
+ private currentRequestComplete;
20
23
  setGNServer(gnServer: GNServer): void;
21
24
  getBigAnalyticsItem(tsDate?: number): Promise<BigAnalyticsItem>;
22
25
  run(): void;
@@ -23,6 +23,35 @@ export interface BigAnalyticsItem {
23
23
  longitude: number;
24
24
  }[];
25
25
  }[];
26
+ operationSystem: {
27
+ cpuUsage: number;
28
+ memoryUsage: {
29
+ totalMemoryInBytes: number;
30
+ freeMemoryInBytes: number;
31
+ };
32
+ storageUsage: {
33
+ name: string;
34
+ fsTotalSizeInBytes: number;
35
+ fsUsedSizeInBytes: number;
36
+ }[];
37
+ };
38
+ databaseSystem: {
39
+ fsTotalSizeInBytes: number;
40
+ fsUsedSizeInBytes: number;
41
+ totalSizeInBytes: number;
42
+ collections: number;
43
+ objects: number;
44
+ indexes: number;
45
+ };
46
+ requestComplete: {
47
+ eventName: string;
48
+ results: [
49
+ {
50
+ errorCode: number;
51
+ count: number;
52
+ }
53
+ ];
54
+ }[];
26
55
  }
27
56
  export interface IAnalyticsService {
28
57
  getBigAnalyticsItem(tsDate?: number): Promise<BigAnalyticsItem>;
@@ -562,4 +562,20 @@ export declare class GNParameterCode {
562
562
  static readonly Title: string;
563
563
  static readonly Body: string;
564
564
  static readonly TargetPlatforms: string;
565
+ static readonly OperationSystem: string;
566
+ static readonly RequestComplete: string;
567
+ static readonly CpuUsage: string;
568
+ static readonly MemoryUsage: string;
569
+ static readonly StorageUsage: string;
570
+ static readonly FreeMemoryInBytes: string;
571
+ static readonly TotalMemoryInBytes: string;
572
+ static readonly ErrorCode: string;
573
+ static readonly Count: string;
574
+ static readonly FsTotalSizeInBytes: string;
575
+ static readonly FsUsedSizeInBytes: string;
576
+ static readonly TotalSizeInBytes: string;
577
+ static readonly Collections: string;
578
+ static readonly Objects: string;
579
+ static readonly Indexes: string;
580
+ static readonly DatabaseSystem: string;
565
581
  }
@@ -1,4 +1,5 @@
1
1
  export interface xDataSettings {
2
2
  key: string;
3
+ displayName: string;
3
4
  permission: number;
4
5
  }
package/dist/index.js CHANGED
@@ -15356,6 +15356,18 @@ __decorate([
15356
15356
  (0, DataMember_1.BooleanDataMember)({ code: GNParameterCode_1.GNParameterCode.Country, isOptional: true }),
15357
15357
  __metadata("design:type", Boolean)
15358
15358
  ], GetAnalyticsOperationRequest.prototype, "country", void 0);
15359
+ __decorate([
15360
+ (0, DataMember_1.BooleanDataMember)({ code: GNParameterCode_1.GNParameterCode.RequestComplete, isOptional: true }),
15361
+ __metadata("design:type", Boolean)
15362
+ ], GetAnalyticsOperationRequest.prototype, "requestComplete", void 0);
15363
+ __decorate([
15364
+ (0, DataMember_1.BooleanDataMember)({ code: GNParameterCode_1.GNParameterCode.OperationSystem, isOptional: true }),
15365
+ __metadata("design:type", Boolean)
15366
+ ], GetAnalyticsOperationRequest.prototype, "operationSystem", void 0);
15367
+ __decorate([
15368
+ (0, DataMember_1.BooleanDataMember)({ code: GNParameterCode_1.GNParameterCode.DatabaseSystem, isOptional: true }),
15369
+ __metadata("design:type", Boolean)
15370
+ ], GetAnalyticsOperationRequest.prototype, "databaseSystem", void 0);
15359
15371
  class GetAnalyticsRequestHandler extends RequestHandler_1.RequestHandler {
15360
15372
  getCode() {
15361
15373
  return OperationCode_1.OperationCode.GetAnalytics;
@@ -15377,6 +15389,9 @@ class GetAnalyticsRequestHandler extends RequestHandler_1.RequestHandler {
15377
15389
  requestParams: {
15378
15390
  analyticsItem: request.analyticsItem,
15379
15391
  country: request.country,
15392
+ operationSystem: request.operationSystem,
15393
+ requestComplete: request.requestComplete,
15394
+ databaseSystem: request.databaseSystem,
15380
15395
  }
15381
15396
  }, secretInfo, operationRequest);
15382
15397
  });
@@ -15439,6 +15454,64 @@ class GetAnalyticsRequestHandler extends RequestHandler_1.RequestHandler {
15439
15454
  }
15440
15455
  operationResponse.setParameter(GNParameterCode_1.GNParameterCode.Country, gnCountrys);
15441
15456
  }
15457
+ if (request.requestParams.operationSystem) {
15458
+ let gnOperationSystem = new GNData_1.GNHashtable();
15459
+ if (bigAnalyticsItem.operationSystem) {
15460
+ gnOperationSystem.add(GNParameterCode_1.GNParameterCode.CpuUsage, bigAnalyticsItem.operationSystem.cpuUsage);
15461
+ let gnMemoryUsage = new GNData_1.GNHashtable();
15462
+ if (bigAnalyticsItem.operationSystem.memoryUsage) {
15463
+ gnMemoryUsage.add(GNParameterCode_1.GNParameterCode.FreeMemoryInBytes, bigAnalyticsItem.operationSystem.memoryUsage.freeMemoryInBytes);
15464
+ gnMemoryUsage.add(GNParameterCode_1.GNParameterCode.TotalMemoryInBytes, bigAnalyticsItem.operationSystem.memoryUsage.totalMemoryInBytes);
15465
+ }
15466
+ gnOperationSystem.add(GNParameterCode_1.GNParameterCode.MemoryUsage, gnMemoryUsage);
15467
+ let gnStorageUsages = new GNData_1.GNArray();
15468
+ if (bigAnalyticsItem.operationSystem.storageUsage) {
15469
+ for (let i = 0; i < bigAnalyticsItem.operationSystem.storageUsage.length; i++) {
15470
+ let storageUsage = bigAnalyticsItem.operationSystem.storageUsage[i];
15471
+ let gnStorageUsage = new GNData_1.GNHashtable();
15472
+ gnStorageUsage.add(GNParameterCode_1.GNParameterCode.Name, storageUsage.name);
15473
+ gnStorageUsage.add(GNParameterCode_1.GNParameterCode.FsTotalSizeInBytes, storageUsage.fsTotalSizeInBytes);
15474
+ gnStorageUsage.add(GNParameterCode_1.GNParameterCode.FsUsedSizeInBytes, storageUsage.fsUsedSizeInBytes);
15475
+ gnStorageUsages.add(gnStorageUsage);
15476
+ }
15477
+ }
15478
+ gnOperationSystem.add(GNParameterCode_1.GNParameterCode.StorageUsage, gnStorageUsages);
15479
+ }
15480
+ operationResponse.setParameter(GNParameterCode_1.GNParameterCode.OperationSystem, gnOperationSystem);
15481
+ }
15482
+ if (request.requestParams.databaseSystem) {
15483
+ let gnDatabaseSystem = new GNData_1.GNHashtable();
15484
+ if (bigAnalyticsItem.operationSystem) {
15485
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.FsTotalSizeInBytes, bigAnalyticsItem.databaseSystem.fsTotalSizeInBytes);
15486
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.FsUsedSizeInBytes, bigAnalyticsItem.databaseSystem.fsUsedSizeInBytes);
15487
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.TotalSizeInBytes, bigAnalyticsItem.databaseSystem.totalSizeInBytes);
15488
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.Collections, bigAnalyticsItem.databaseSystem.collections);
15489
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.Objects, bigAnalyticsItem.databaseSystem.objects);
15490
+ gnDatabaseSystem.add(GNParameterCode_1.GNParameterCode.Indexes, bigAnalyticsItem.databaseSystem.indexes);
15491
+ }
15492
+ operationResponse.setParameter(GNParameterCode_1.GNParameterCode.DatabaseSystem, gnDatabaseSystem);
15493
+ }
15494
+ if (request.requestParams.requestComplete) {
15495
+ let gnRequestComplete = new GNData_1.GNArray();
15496
+ if (bigAnalyticsItem.requestComplete) {
15497
+ for (let i = 0; i < bigAnalyticsItem.requestComplete.length; i++) {
15498
+ let requestComplete = bigAnalyticsItem.requestComplete[i];
15499
+ let thisGnRequestComplete = new GNData_1.GNHashtable();
15500
+ thisGnRequestComplete.add(GNParameterCode_1.GNParameterCode.EventName, requestComplete.eventName);
15501
+ let gnResults = new GNData_1.GNArray();
15502
+ for (let j = 0; j < requestComplete.results.length; j++) {
15503
+ let result = requestComplete.results[j];
15504
+ let gnResult = new GNData_1.GNHashtable();
15505
+ gnResult.add(GNParameterCode_1.GNParameterCode.ErrorCode, result.errorCode);
15506
+ gnResult.add(GNParameterCode_1.GNParameterCode.Count, result.count);
15507
+ gnResults.add(gnResult);
15508
+ }
15509
+ thisGnRequestComplete.add(GNParameterCode_1.GNParameterCode.Results, gnResults);
15510
+ gnRequestComplete.add(thisGnRequestComplete);
15511
+ }
15512
+ }
15513
+ operationResponse.setParameter(GNParameterCode_1.GNParameterCode.RequestComplete, gnRequestComplete);
15514
+ }
15442
15515
  operationResponse.setParameter(ParameterCode_1.ParameterCode.ErrorCode, GNErrorCode_1.GNErrorCode.Ok);
15443
15516
  yield this.gnServer.getPostEventCallbackService().onEvent("dashboard_GetAnalytics", request, secretInfo, operationRequest, operationResponse);
15444
15517
  return operationResponse;
@@ -15798,6 +15871,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15798
15871
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MinimumValue, playerStatisticsSetting.minimumValue);
15799
15872
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MaximumValue, playerStatisticsSetting.maximumValue);
15800
15873
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.InitialValue, playerStatisticsSetting.initialValue);
15874
+ gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, playerStatisticsSetting.displayName);
15801
15875
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.Index, playerStatisticsSetting.index);
15802
15876
  gnPlayerStatisticsSettings.add(gnPlayerStatisticsSetting);
15803
15877
  }
@@ -15811,6 +15885,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15811
15885
  let gnPlayerDatasSetting = new GNData_1.GNHashtable();
15812
15886
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, playerDatasSetting.key);
15813
15887
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, playerDatasSetting.permission);
15888
+ gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, playerDatasSetting.displayName);
15814
15889
  gnPlayerDatasSettings.add(gnPlayerDatasSetting);
15815
15890
  }
15816
15891
  gnCharacterPlayerSettings.add(GNParameterCode_1.GNParameterCode.DatasSettings, gnPlayerDatasSettings);
@@ -15823,6 +15898,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15823
15898
  let gnCustomDatasSetting = new GNData_1.GNHashtable();
15824
15899
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, customDatasSetting.key);
15825
15900
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, customDatasSetting.permission);
15901
+ gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, customDatasSetting.displayName);
15826
15902
  gnCustomDatasSettings.add(gnCustomDatasSetting);
15827
15903
  }
15828
15904
  gnCharacterPlayerSettings.add(GNParameterCode_1.GNParameterCode.CustomDatasSettings, gnCustomDatasSettings);
@@ -15916,6 +15992,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15916
15992
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MinimumValue, playerStatisticsSetting.minimumValue);
15917
15993
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MaximumValue, playerStatisticsSetting.maximumValue);
15918
15994
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.InitialValue, playerStatisticsSetting.initialValue);
15995
+ gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, playerStatisticsSetting.displayName);
15919
15996
  gnPlayerStatisticsSetting.add(GNParameterCode_1.GNParameterCode.Index, playerStatisticsSetting.index);
15920
15997
  gnPlayerStatisticsSettings.add(gnPlayerStatisticsSetting);
15921
15998
  }
@@ -15929,6 +16006,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15929
16006
  let gnPlayerDatasSetting = new GNData_1.GNHashtable();
15930
16007
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, playerDatasSetting.key);
15931
16008
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, playerDatasSetting.permission);
16009
+ gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, playerDatasSetting.displayName);
15932
16010
  gnPlayerDatasSettings.add(gnPlayerDatasSetting);
15933
16011
  }
15934
16012
  gnGamePlayerSettings.add(GNParameterCode_1.GNParameterCode.DatasSettings, gnPlayerDatasSettings);
@@ -15941,6 +16019,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
15941
16019
  let gnCustomDatasSetting = new GNData_1.GNHashtable();
15942
16020
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, customDatasSetting.key);
15943
16021
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, customDatasSetting.permission);
16022
+ gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, customDatasSetting.displayName);
15944
16023
  gnCustomDatasSettings.add(gnCustomDatasSetting);
15945
16024
  }
15946
16025
  gnGamePlayerSettings.add(GNParameterCode_1.GNParameterCode.CustomDatasSettings, gnCustomDatasSettings);
@@ -16046,6 +16125,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16046
16125
  gnGroupStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MinimumValue, groupStatisticsSetting.minimumValue);
16047
16126
  gnGroupStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MaximumValue, groupStatisticsSetting.maximumValue);
16048
16127
  gnGroupStatisticsSetting.add(GNParameterCode_1.GNParameterCode.InitialValue, groupStatisticsSetting.initialValue);
16128
+ gnGroupStatisticsSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, groupStatisticsSetting.displayName);
16049
16129
  gnGroupStatisticsSetting.add(GNParameterCode_1.GNParameterCode.Index, groupStatisticsSetting.index);
16050
16130
  gnGroupStatisticsSettings.add(gnGroupStatisticsSetting);
16051
16131
  }
@@ -16059,6 +16139,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16059
16139
  let gnGroupDatasSetting = new GNData_1.GNHashtable();
16060
16140
  gnGroupDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, groupDatasSetting.key);
16061
16141
  gnGroupDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, groupDatasSetting.permission);
16142
+ gnGroupDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, groupDatasSetting.displayName);
16062
16143
  gnGroupDatasSettings.add(gnGroupDatasSetting);
16063
16144
  }
16064
16145
  gnGroupSettings.add(GNParameterCode_1.GNParameterCode.DatasSettings, gnGroupDatasSettings);
@@ -16071,6 +16152,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16071
16152
  let gnCustomDatasSetting = new GNData_1.GNHashtable();
16072
16153
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, customDatasSetting.key);
16073
16154
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, customDatasSetting.permission);
16155
+ gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, customDatasSetting.displayName);
16074
16156
  gnCustomDatasSettings.add(gnCustomDatasSetting);
16075
16157
  }
16076
16158
  gnGroupSettings.add(GNParameterCode_1.GNParameterCode.CustomDatasSettings, gnCustomDatasSettings);
@@ -16125,6 +16207,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16125
16207
  gnInventoryStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MinimumValue, inventoryStatisticsSetting.minimumValue);
16126
16208
  gnInventoryStatisticsSetting.add(GNParameterCode_1.GNParameterCode.MaximumValue, inventoryStatisticsSetting.maximumValue);
16127
16209
  gnInventoryStatisticsSetting.add(GNParameterCode_1.GNParameterCode.InitialValue, inventoryStatisticsSetting.initialValue);
16210
+ gnInventoryStatisticsSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, inventoryStatisticsSetting.displayName);
16128
16211
  gnInventoryStatisticsSetting.add(GNParameterCode_1.GNParameterCode.Index, inventoryStatisticsSetting.index);
16129
16212
  gnInventoryStatisticsSettings.add(gnInventoryStatisticsSetting);
16130
16213
  }
@@ -16138,6 +16221,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16138
16221
  let gnInventoryDatasSetting = new GNData_1.GNHashtable();
16139
16222
  gnInventoryDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, inventoryDatasSetting.key);
16140
16223
  gnInventoryDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, inventoryDatasSetting.permission);
16224
+ gnInventoryDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, inventoryDatasSetting.displayName);
16141
16225
  gnInventoryDatasSettings.add(gnInventoryDatasSetting);
16142
16226
  }
16143
16227
  gnInventorySettings.add(GNParameterCode_1.GNParameterCode.DatasSettings, gnInventoryDatasSettings);
@@ -16150,6 +16234,7 @@ class GetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
16150
16234
  let gnCustomDatasSetting = new GNData_1.GNHashtable();
16151
16235
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, customDatasSetting.key);
16152
16236
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, customDatasSetting.permission);
16237
+ gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, customDatasSetting.displayName);
16153
16238
  gnCustomDatasSettings.add(gnCustomDatasSetting);
16154
16239
  }
16155
16240
  gnInventorySettings.add(GNParameterCode_1.GNParameterCode.CustomDatasSettings, gnCustomDatasSettings);
@@ -16632,6 +16717,7 @@ class GetMasterGameSettingsRequestHandler extends RequestHandler_1.RequestHandle
16632
16717
  let gnPlayerDatasSetting = new GNData_1.GNHashtable();
16633
16718
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, playerDatasSetting.key);
16634
16719
  gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, playerDatasSetting.permission);
16720
+ gnPlayerDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, playerDatasSetting.displayName);
16635
16721
  gnPlayerDatasSettings.add(gnPlayerDatasSetting);
16636
16722
  }
16637
16723
  gnMasterPlayerSettings.add(GNParameterCode_1.GNParameterCode.DatasSettings, gnPlayerDatasSettings);
@@ -16643,6 +16729,7 @@ class GetMasterGameSettingsRequestHandler extends RequestHandler_1.RequestHandle
16643
16729
  let gnCustomDatasSetting = new GNData_1.GNHashtable();
16644
16730
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Key, customDatasSetting.key);
16645
16731
  gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.Permission, customDatasSetting.permission);
16732
+ gnCustomDatasSetting.add(GNParameterCode_1.GNParameterCode.DisplayName, customDatasSetting.displayName);
16646
16733
  gnCustomDatasSettings.add(gnCustomDatasSetting);
16647
16734
  }
16648
16735
  gnMasterPlayerSettings.add(GNParameterCode_1.GNParameterCode.CustomDatasSettings, gnCustomDatasSettings);
@@ -23035,6 +23122,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23035
23122
  playerDatasSettings.push({
23036
23123
  key: playerDatasSetting.key,
23037
23124
  permission: playerDatasSetting.permission,
23125
+ displayName: playerDatasSetting.displayName,
23038
23126
  });
23039
23127
  }
23040
23128
  currentCharacterPlayerSettings.playerDatasSettings = playerDatasSettings;
@@ -23047,6 +23135,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23047
23135
  customDatasSettings.push({
23048
23136
  key: customDatasSetting.key,
23049
23137
  permission: customDatasSetting.permission,
23138
+ displayName: customDatasSetting.displayName,
23050
23139
  });
23051
23140
  }
23052
23141
  currentCharacterPlayerSettings.customDatasSettings = customDatasSettings;
@@ -23279,6 +23368,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23279
23368
  playerDatasSettings.push({
23280
23369
  key: playerDatasSetting.key,
23281
23370
  permission: playerDatasSetting.permission,
23371
+ displayName: playerDatasSetting.displayName,
23282
23372
  });
23283
23373
  }
23284
23374
  currentGamePlayerSettings.playerDatasSettings = playerDatasSettings;
@@ -23291,6 +23381,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23291
23381
  customDatasSettings.push({
23292
23382
  key: customDatasSetting.key,
23293
23383
  permission: customDatasSetting.permission,
23384
+ displayName: customDatasSetting.displayName,
23294
23385
  });
23295
23386
  }
23296
23387
  currentGamePlayerSettings.customDatasSettings = customDatasSettings;
@@ -23535,6 +23626,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23535
23626
  groupDatasSettings.push({
23536
23627
  key: groupDatasSetting.key,
23537
23628
  permission: groupDatasSetting.permission,
23629
+ displayName: groupDatasSetting.displayName,
23538
23630
  });
23539
23631
  }
23540
23632
  currentGroupSettings.groupDatasSettings = groupDatasSettings;
@@ -23547,6 +23639,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23547
23639
  customDatasSettings.push({
23548
23640
  key: customDatasSetting.key,
23549
23641
  permission: customDatasSetting.permission,
23642
+ displayName: customDatasSetting.displayName,
23550
23643
  });
23551
23644
  }
23552
23645
  currentGroupSettings.customDatasSettings = customDatasSettings;
@@ -23710,6 +23803,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23710
23803
  inventoryDatasSettings.push({
23711
23804
  key: inventoryDatasSetting.key,
23712
23805
  permission: inventoryDatasSetting.permission,
23806
+ displayName: inventoryDatasSetting.displayName,
23713
23807
  });
23714
23808
  }
23715
23809
  currentInventorySettings.inventoryDatasSettings = inventoryDatasSettings;
@@ -23722,6 +23816,7 @@ class SetGameInformationRequestHandler extends RequestHandler_1.RequestHandler {
23722
23816
  customDatasSettings.push({
23723
23817
  key: customDatasSetting.key,
23724
23818
  permission: customDatasSetting.permission,
23819
+ displayName: customDatasSetting.displayName,
23725
23820
  });
23726
23821
  }
23727
23822
  currentInventorySettings.customDatasSettings = customDatasSettings;
@@ -24384,6 +24479,7 @@ class SetMasterGameSettingsRequestHandler extends RequestHandler_1.RequestHandle
24384
24479
  playerDatasSettings.push({
24385
24480
  key: playerDatasSetting.key,
24386
24481
  permission: playerDatasSetting.permission,
24482
+ displayName: playerDatasSetting.displayName,
24387
24483
  });
24388
24484
  }
24389
24485
  this.gnServer.getGNSettings().getMasterPlayerSettings().playerDatasSettings = playerDatasSettings;
@@ -24396,6 +24492,7 @@ class SetMasterGameSettingsRequestHandler extends RequestHandler_1.RequestHandle
24396
24492
  playerDatasSettings.push({
24397
24493
  key: customDatasSetting.key,
24398
24494
  permission: customDatasSetting.permission,
24495
+ displayName: customDatasSetting.displayName,
24399
24496
  });
24400
24497
  }
24401
24498
  this.gnServer.getGNSettings().getMasterPlayerSettings().customDatasSettings = playerDatasSettings;
@@ -25457,6 +25554,10 @@ __decorate([
25457
25554
  (0, DataMember_1.StringDataMember)({ code: GNParameterCode_1.GNParameterCode.Key, minLength: 2, maxLength: 32 }),
25458
25555
  __metadata("design:type", String)
25459
25556
  ], DataSettingsParam.prototype, "key", void 0);
25557
+ __decorate([
25558
+ (0, DataMember_1.StringDataMember)({ code: GNParameterCode_1.GNParameterCode.DisplayName, minLength: 2, maxLength: 64 }),
25559
+ __metadata("design:type", String)
25560
+ ], DataSettingsParam.prototype, "displayName", void 0);
25460
25561
  __decorate([
25461
25562
  (0, DataMember_1.NumberDataMember)({ code: GNParameterCode_1.GNParameterCode.Permission, mustInt: true }),
25462
25563
  __metadata("design:type", Number)
@@ -70537,7 +70638,9 @@ class MultiplayerBaseRequestHandler extends RequestHandler_1.RequestHandler {
70537
70638
  return __awaiter(this, void 0, void 0, function* () {
70538
70639
  let answer = {};
70539
70640
  if (attribute != null && matchmakingQueueSettings.rules != null) {
70540
- let gamePlayer = yield this.gnServer.getDatabase().loadGamePlayerAsync(userId, gameId, null);
70641
+ let gamePlayer = yield this.gnServer.getDatabase().loadGamePlayerAsync(userId, gameId, {
70642
+ playerDatas: true,
70643
+ });
70541
70644
  if (gamePlayer != null) {
70542
70645
  for (let i = 0; i < matchmakingQueueSettings.rules.length; i++) {
70543
70646
  let matchmakingRules = matchmakingQueueSettings.rules[i];
@@ -74967,6 +75070,39 @@ __decorate([
74967
75070
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
74968
75071
 
74969
75072
 
75073
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
75074
+ if (k2 === undefined) k2 = k;
75075
+ var desc = Object.getOwnPropertyDescriptor(m, k);
75076
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
75077
+ desc = { enumerable: true, get: function() { return m[k]; } };
75078
+ }
75079
+ Object.defineProperty(o, k2, desc);
75080
+ }) : (function(o, m, k, k2) {
75081
+ if (k2 === undefined) k2 = k;
75082
+ o[k2] = m[k];
75083
+ }));
75084
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
75085
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
75086
+ }) : function(o, v) {
75087
+ o["default"] = v;
75088
+ });
75089
+ var __importStar = (this && this.__importStar) || (function () {
75090
+ var ownKeys = function(o) {
75091
+ ownKeys = Object.getOwnPropertyNames || function (o) {
75092
+ var ar = [];
75093
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
75094
+ return ar;
75095
+ };
75096
+ return ownKeys(o);
75097
+ };
75098
+ return function (mod) {
75099
+ if (mod && mod.__esModule) return mod;
75100
+ var result = {};
75101
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
75102
+ __setModuleDefault(result, mod);
75103
+ return result;
75104
+ };
75105
+ })();
74970
75106
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
74971
75107
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
74972
75108
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -74976,9 +75112,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
74976
75112
  step((generator = generator.apply(thisArg, _arguments || [])).next());
74977
75113
  });
74978
75114
  };
75115
+ var __importDefault = (this && this.__importDefault) || function (mod) {
75116
+ return (mod && mod.__esModule) ? mod : { "default": mod };
75117
+ };
74979
75118
  Object.defineProperty(exports, "__esModule", ({ value: true }));
74980
75119
  exports.AnalyticsService = void 0;
74981
75120
  const xDatetime_1 = __webpack_require__(21817);
75121
+ const systeminformation_1 = __importDefault(__webpack_require__(90333));
75122
+ const mongoDB = __importStar(__webpack_require__(12518));
74982
75123
  class AnalyticsService {
74983
75124
  setGNServer(gnServer) {
74984
75125
  this.gnServer = gnServer;
@@ -75001,8 +75142,11 @@ class AnalyticsService {
75001
75142
  MNUSince0h1: this.currentMNUSince0h1,
75002
75143
  MRT: this.currentMRT,
75003
75144
  MRTSince0h1: this.currentMRTSince0h1,
75004
- analyticsPrice: this.analyticsPrice,
75145
+ analyticsPrice: this.currentAnalyticsPrice,
75005
75146
  country: this.currentCountry,
75147
+ operationSystem: this.currentOperationSystem,
75148
+ requestComplete: this.currentRequestComplete,
75149
+ databaseSystem: this.currentDatabaseSystem,
75006
75150
  };
75007
75151
  }
75008
75152
  else {
@@ -75025,6 +75169,9 @@ class AnalyticsService {
75025
75169
  MRTSince0h1: 0,
75026
75170
  analyticsPrice: 0,
75027
75171
  country: null,
75172
+ operationSystem: null,
75173
+ requestComplete: null,
75174
+ databaseSystem: null,
75028
75175
  };
75029
75176
  }
75030
75177
  else {
@@ -75044,6 +75191,9 @@ class AnalyticsService {
75044
75191
  MRTSince0h1: result["mrtSince0h1"],
75045
75192
  analyticsPrice: result["analyticsPrice"],
75046
75193
  country: result["country"],
75194
+ operationSystem: result["operationSystem"],
75195
+ requestComplete: result["requestComplete"],
75196
+ databaseSystem: result["databaseSystem"],
75047
75197
  };
75048
75198
  }
75049
75199
  }
@@ -75073,9 +75223,9 @@ class AnalyticsService {
75073
75223
  let currentMilliseconds = xDatetime_1.xDatetime.getCurrentMilliseconds();
75074
75224
  let millisecondsSince0h = xDatetime_1.xDatetime.getToday0hMilliseconds();
75075
75225
  let playerCollection = this.gnServer.getDatabase().systemCollection("MasterPlayer");
75226
+ let millisecondsAt15MinutesAgo = currentMilliseconds - 15 * xDatetime_1.xDatetime.ONE_MINUTE_MILLISECOND;
75076
75227
  // CCU
75077
75228
  {
75078
- let millisecondsAt15MinutesAgo = currentMilliseconds - 15 * xDatetime_1.xDatetime.ONE_MINUTE_MILLISECOND;
75079
75229
  this.currentCCU = yield playerCollection.countDocuments({
75080
75230
  tsLastLogin: {
75081
75231
  $gt: millisecondsAt15MinutesAgo
@@ -75083,8 +75233,7 @@ class AnalyticsService {
75083
75233
  });
75084
75234
  }
75085
75235
  {
75086
- let millisecondsAt15MinutesAgo = currentMilliseconds - 15 * xDatetime_1.xDatetime.ONE_MINUTE_MILLISECOND;
75087
- this.analyticsPrice = yield this.gnServer.getDatabase().systemCollection("StoreAnalytics").countDocuments({
75236
+ this.currentAnalyticsPrice = yield this.gnServer.getDatabase().systemCollection("StoreAnalytics").countDocuments({
75088
75237
  tsLastLogin: {
75089
75238
  $gt: millisecondsAt15MinutesAgo
75090
75239
  }
@@ -75220,6 +75369,76 @@ class AnalyticsService {
75220
75369
  }
75221
75370
  this.currentCountry = gnCountrys;
75222
75371
  }
75372
+ {
75373
+ const cpu = yield systeminformation_1.default.currentLoad();
75374
+ const memory = yield systeminformation_1.default.mem();
75375
+ const fsSize = yield systeminformation_1.default.fsSize();
75376
+ let storageUsage = [];
75377
+ for (let i = 0; i < fsSize.length; i++) {
75378
+ let storage = fsSize[i];
75379
+ storageUsage.push({
75380
+ name: storage.mount,
75381
+ fsTotalSizeInBytes: storage.size,
75382
+ fsUsedSizeInBytes: storage.used
75383
+ });
75384
+ }
75385
+ this.currentOperationSystem = {
75386
+ cpuUsage: cpu.currentLoad,
75387
+ memoryUsage: {
75388
+ freeMemoryInBytes: memory.free,
75389
+ totalMemoryInBytes: memory.total,
75390
+ },
75391
+ storageUsage: storageUsage
75392
+ };
75393
+ }
75394
+ {
75395
+ let eventCallbackPostCollection = this.gnServer.getDatabase().systemCollection("EventCallback.Post");
75396
+ let results = yield eventCallbackPostCollection.aggregate([
75397
+ {
75398
+ $match: {
75399
+ _id: { $gt: mongoDB.ObjectId.createFromTime(millisecondsAt15MinutesAgo / 1000 - 1) }
75400
+ }
75401
+ },
75402
+ {
75403
+ $group: {
75404
+ _id: { eventName: "$eventName", E: "$operationResponse.parameters.E" },
75405
+ count: { $sum: 1 } // Đếm số lần xuất hiện
75406
+ }
75407
+ },
75408
+ {
75409
+ $group: {
75410
+ _id: "$_id.eventName",
75411
+ results: {
75412
+ $push: {
75413
+ errorCode: "$_id.E",
75414
+ count: "$count"
75415
+ }
75416
+ }
75417
+ }
75418
+ }
75419
+ ]);
75420
+ this.currentRequestComplete = [];
75421
+ while (yield results.hasNext()) {
75422
+ let result = yield results.next();
75423
+ this.currentRequestComplete.push({
75424
+ eventName: result["_id"],
75425
+ results: result.results,
75426
+ });
75427
+ }
75428
+ }
75429
+ {
75430
+ let stats = yield this.gnServer.getDatabase().getDb().stats();
75431
+ if (stats.ok == 1) {
75432
+ this.currentDatabaseSystem = {
75433
+ collections: stats.collections,
75434
+ fsTotalSizeInBytes: stats.fsTotalSize,
75435
+ fsUsedSizeInBytes: stats.fsUsedSize,
75436
+ indexes: stats.indexes,
75437
+ objects: stats.objects,
75438
+ totalSizeInBytes: stats.totalSize,
75439
+ };
75440
+ }
75441
+ }
75223
75442
  });
75224
75443
  }
75225
75444
  saveAnalytics() {
@@ -75243,8 +75462,11 @@ class AnalyticsService {
75243
75462
  mnuSince0h1: this.currentMNUSince0h1,
75244
75463
  mrt: this.currentMRT,
75245
75464
  mrtSince0h1: this.currentMRTSince0h1,
75246
- analyticsPrice: this.analyticsPrice,
75465
+ analyticsPrice: this.currentAnalyticsPrice,
75247
75466
  country: this.currentCountry,
75467
+ operationSystem: this.currentOperationSystem,
75468
+ requestComplete: this.currentRequestComplete,
75469
+ databaseSystem: this.currentDatabaseSystem,
75248
75470
  tsCreate: currentDate.getTime()
75249
75471
  });
75250
75472
  });
@@ -80251,6 +80473,22 @@ GNParameterCode.Sound = "sound";
80251
80473
  GNParameterCode.Title = "title";
80252
80474
  GNParameterCode.Body = "body";
80253
80475
  GNParameterCode.TargetPlatforms = "targetPlatforms";
80476
+ GNParameterCode.OperationSystem = "operationSystem";
80477
+ GNParameterCode.RequestComplete = "requestComplete";
80478
+ GNParameterCode.CpuUsage = "cpuUsage";
80479
+ GNParameterCode.MemoryUsage = "memoryUsage";
80480
+ GNParameterCode.StorageUsage = "storageUsage";
80481
+ GNParameterCode.FreeMemoryInBytes = "freeMemoryInBytes";
80482
+ GNParameterCode.TotalMemoryInBytes = "totalMemoryInBytes";
80483
+ GNParameterCode.ErrorCode = "errorCode";
80484
+ GNParameterCode.Count = "count";
80485
+ GNParameterCode.FsTotalSizeInBytes = "fsTotalSizeInBytes";
80486
+ GNParameterCode.FsUsedSizeInBytes = "fsUsedSizeInBytes";
80487
+ GNParameterCode.TotalSizeInBytes = "totalSizeInBytes";
80488
+ GNParameterCode.Collections = "collections";
80489
+ GNParameterCode.Objects = "objects";
80490
+ GNParameterCode.Indexes = "indexes";
80491
+ GNParameterCode.DatabaseSystem = "databaseSystem";
80254
80492
 
80255
80493
 
80256
80494
  /***/ }),
@@ -85605,9 +85843,10 @@ class xMail {
85605
85843
  }
85606
85844
  init(sendGridApiKey, fromEmail) {
85607
85845
  this.isInit = false;
85846
+ let oldSendGridApiKey = this.sendGridApiKey;
85608
85847
  this.sendGridApiKey = sendGridApiKey;
85609
85848
  this.fromEmail = fromEmail;
85610
- if (this.sendGridApiKey != sendGridApiKey) {
85849
+ if (oldSendGridApiKey != sendGridApiKey) {
85611
85850
  this.needSetup = true;
85612
85851
  }
85613
85852
  }
@@ -85709,10 +85948,13 @@ class xPushNotification {
85709
85948
  }
85710
85949
  init(projectId, clientEmail, privateKey) {
85711
85950
  this.isInit = false;
85951
+ let oldProjectId = this.projectId;
85952
+ let oldClientEmail = this.clientEmail;
85953
+ let oldPrivateKey = this.privateKey;
85712
85954
  this.projectId = projectId;
85713
85955
  this.clientEmail = clientEmail;
85714
85956
  this.privateKey = privateKey;
85715
- if (this.projectId != projectId || this.clientEmail != clientEmail || this.privateKey != privateKey) {
85957
+ if (oldProjectId != projectId || oldClientEmail != clientEmail || oldPrivateKey != privateKey) {
85716
85958
  this.needSetup = true;
85717
85959
  }
85718
85960
  }
@@ -87303,7 +87545,7 @@ class ServerApplication extends BuilderBase {
87303
87545
  yield this.gnServer.getDatabase().createCollection("System.AdapterEvent", {
87304
87546
  capped: true,
87305
87547
  size: 5120000,
87306
- max: 100000
87548
+ max: 50000
87307
87549
  });
87308
87550
  let adapterEventCollection = this.gnServer.getDatabase().systemCollection("AdapterEvent");
87309
87551
  yield adapterEventCollection.createIndex({ "createdAt": 1 }, { expireAfterSeconds: 60, background: true, name: "createdAt_1" });
@@ -87314,11 +87556,11 @@ class ServerApplication extends BuilderBase {
87314
87556
  {
87315
87557
  yield this.gnServer.getDatabase().createCollection("System.EventCallback.Post", {
87316
87558
  capped: true,
87317
- size: 51200000000,
87318
- max: 100000000
87559
+ size: 512000000,
87560
+ max: 100000
87319
87561
  });
87320
- let postEventCallbackPostCollection = this.gnServer.getDatabase().systemCollection("EventCallback.Post");
87321
- yield postEventCallbackPostCollection.createIndex({ "eventName": 1, "_id": -1 }, { background: true, name: "eventName_1_id_-1" });
87562
+ // let postEventCallbackPostCollection = this.gnServer.getDatabase().systemCollection("EventCallback.Post");
87563
+ // await postEventCallbackPostCollection.createIndex({ "eventName": 1, "_id": -1 }, { background: true, name: "eventName_1_id_-1" });
87322
87564
  }
87323
87565
  {
87324
87566
  let cloudScriptFunctionCollection = this.gnServer.getDatabase().systemCollection("EventCallback.CloudScript");
@@ -91759,6 +92001,13 @@ module.exports = require("socket.io");
91759
92001
 
91760
92002
  /***/ }),
91761
92003
 
92004
+ /***/ 90333:
92005
+ /***/ ((module) => {
92006
+
92007
+ module.exports = require("systeminformation");
92008
+
92009
+ /***/ }),
92010
+
91762
92011
  /***/ 35317:
91763
92012
  /***/ ((module) => {
91764
92013
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmobitea/gn-server",
3
- "version": "2.4.7",
3
+ "version": "2.4.8",
4
4
  "description": "Game Networking Server by XmobiTea (Pro)",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "@socket.io/mongo-emitter": "^0.2.0",
41
41
  "@types/crypto-js": "^4.2.2",
42
42
  "@types/node": "^22.10.5",
43
- "@xmobitea/gn-typescript-client": "^2.4.1",
43
+ "@xmobitea/gn-typescript-client": "^2.4.2",
44
44
  "async-lock": "^1.4.1",
45
45
  "async-middleware": "^1.2.1",
46
46
  "axios": "^1.7.9",
@@ -59,7 +59,8 @@
59
59
  "mongodb": "^6.12.0",
60
60
  "multer": "^1.4.5-lts.1",
61
61
  "reflect-metadata": "^0.2.2",
62
- "socket.io": "^4.8.1"
62
+ "socket.io": "^4.8.1",
63
+ "systeminformation": "^5.25.11"
63
64
  },
64
65
  "repository": {
65
66
  "type": "git",