Advanced Sessions Plugin

Please, somebody make an example voice chat

1 Like

Iā€™m having some trouble getting my project to compile for Linux (for a dedicated server), it appears to be some sort of ordering issue. Here are the errors Iā€™m getting.



mainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(10,4) :  warning: field 'SessionInviteAcceptedDelegate' will be initialized after field 'bCallFriendInterfaceEventsOnPlayerControllers' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , SessionInviteAcceptedDelegate(FOnSessionUserInviteAcceptedDelegate::CreateUObject(this, &ThisClass::OnSessionInviteAcceptedMaster))
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(12,4) :  warning: field 'PlayerTalkingStateChangedDelegate' will be initialized after field 'bEnableTalkingStatusDelegate' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , PlayerTalkingStateChangedDelegate(FOnPlayerTalkingStateChangedDelegate::CreateUObject(this, &ThisClass::OnPlayerTalkingStateChangedMaster))
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(13,4) :  warning: field 'bEnableTalkingStatusDelegate' will be initialized after field 'bCallVoiceInterfaceEventsOnPlayerControllers' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , bEnableTalkingStatusDelegate(true)
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\CreateSessionCallbackProxyAdvanced.cpp(69,29) :  error: implicit conversion of NULL constant to 'int32' ( 'int') -Werror,-Wnull-conversion]
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 Sessions->CreateSession(NULL, GameSessionName, Settings);
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 ~~~~~~~~                ^~~~
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                         0

1 Like

[QUOTE=Chaoss;438994]
Iā€™m having some trouble getting my project to compile for Linux (for a dedicated server), it appears to be some sort of ordering issue. Here are the errors Iā€™m getting.



mainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(10,4) :  warning: field 'SessionInviteAcceptedDelegate' will be initialized after field 'bCallFriendInterfaceEventsOnPlayerControllers' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , SessionInviteAcceptedDelegate(FOnSessionUserInviteAcceptedDelegate::CreateUObject(this, &ThisClass::OnSessionInviteAcceptedMaster))
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(12,4) :  warning: field 'PlayerTalkingStateChangedDelegate' will be initialized after field 'bEnableTalkingStatusDelegate' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , PlayerTalkingStateChangedDelegate(FOnPlayerTalkingStateChangedDelegate::CreateUObject(this, &ThisClass::OnPlayerTalkingStateChangedMaster))
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp(13,4) :  warning: field 'bEnableTalkingStatusDelegate' will be initialized after field 'bCallVoiceInterfaceEventsOnPlayerControllers' -Wreorder]
MainFrameActions: Packaging (Linux): UnrealBuildTool:         , bEnableTalkingStatusDelegate(true)
MainFrameActions: Packaging (Linux): UnrealBuildTool:           ^
MainFrameActions: Packaging (Linux): UnrealBuildTool: D:\Repositories\AfterDays\Plugins\AdvancedSessionsPlugin\Source\AdvancedSessions\Private\CreateSessionCallbackProxyAdvanced.cpp(69,29) :  error: implicit conversion of NULL constant to 'int32' ( 'int') -Werror,-Wnull-conversion]
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 Sessions->CreateSession(NULL, GameSessionName, Settings);
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                 ~~~~~~~~                ^~~~
MainFrameActions: Packaging (Linux): UnrealBuildTool:                                                         0

Using GCC? Appears to be complaining that some of the class fields are initialized in a different order than they are declared in the class itself, it doesnā€™t matter for these classes but it is complaining about it anyway. You can use the compile flag ā€œw-Wno-reorderā€ to have it ignore it from what I looked up, but I will go through and re-order them to make GCC stop complaining by default anyway.

Also Iā€™ll changes that NULL to a 0x00 so that it stops complaining about that as well. When the 10.1 version comes up it will have those fixes (it was working fine without re-compile but that gives me a reason to update now), let me know if you get anything else, I donā€™t use GCC and donā€™t mind making it fully compatible now that linux is an official compile enviroment.

[QUOTE=Chaoss;438622]
You my friend, are an absolute saint! This is EXACTLY what I was looking forā€¦ can you put this on the Marketplace?

I only found it through word of mouth.

Epic doesnā€™t allow free content on the marketplace that isnā€™t their own I donā€™t think, I would have to assign a charge to it and it is a plugin and those are only just getting supported in the marketplace now. I have considered it in the past since it would be far easier to manage versions for people and there wouldnā€™t be as many mixups. It might be time to look into it, it is pretty stable now (havenā€™t actually changed code in a while).

[QUOTE=thedark174;438810]
Please, somebody make an example voice chat

ā€œDefaultEngine.iniā€


[Voice] 
 bEnabled=true

If you want to force push to talk then add the line below

ā€œDefaultGame.iniā€


[/Script/Engine.GameSession]
bRequiresPushToTalk=true

Then in the game attached to a button press add: ā€œStart Networked Voiceā€, and when the button is depressed ā€œStop Networked Voiceā€ for push to talk.

As far as everything else, the more advanced stuff can be ignored unless you specifically want to unregister or register new players manually for voice. The default subsystem automatically registers all players for voice.
Muting a player takes their NetworkID and mutes them to you.

1 Like

New version built under 4.10.1 is uploaded, includes fixes for the GCC specific warnings and error.

1 Like

[QUOTE=;439277]
New version built under 4.10.1 is uploaded, includes fixes for the GCC specific warnings and error.

That appears to have fixed that, however both your and the default sessions node have a bad interaction with the SteamSDK when running as a dedicated server. Could you possibly include the ā€œpresenceā€ setting in your next update. Currently the error we get if you create a session as a dedicated server isā€¦



[2015.12.18-21.03.35:876]  0]Log file open, 12/18/15 21:03:35
[2015.12.18-21.03.35:876]  0]LogModuleManager:Warning: ModuleManager: Module 'HTTPChunkInstaller' not found - its StaticallyLinkedModuleInitializers function is null.
[2015.12.18-21.03.35:877]  0]LogPlatformFile: Not using cached read wrapper
[2015.12.18-21.03.35:877]  0]LogInit:Display: RandInit(454237160) SRandInit(454237161).
[2015.12.18-21.03.35:877]  0]LogTaskGraph: Started task graph with 4 named threads and 8 total threads.
[2015.12.18-21.03.35:877]  0]LogStats: Stats thread started at 0.070919
[2015.12.18-21.03.35:877]  0]LogInit: Version: 4.10.1-0+++depot+UE4-Releases+4.10
[2015.12.18-21.03.35:877]  0]LogInit: API Version: 0
[2015.12.18-21.03.35:878]  0]LogInit: Compiled (64-bit): Dec  9 2015 02:01:26
[2015.12.18-21.03.35:878]  0]LogInit: Compiled with Visual C++: 19.00.23026.00
[2015.12.18-21.03.35:878]  0]LogInit: Build Configuration: Development
[2015.12.18-21.03.35:878]  0]LogInit: Branch Name: ++depot+UE4-Releases+4.10
[2015.12.18-21.03.35:878]  0]LogInit: Command line: -log
[2015.12.18-21.03.35:878]  0]LogInit: Base directory: F:/Shared Folder/AfterDaysBuilds/Build0.02.3/WindowsNoEditor/AfterDays/Binaries/Win64/
[2015.12.18-21.03.35:878]  0]LogInit: Rocket: 0
[2015.12.18-21.03.35:881]  0]LogInit: Using libcurl 7.41.0
[2015.12.18-21.03.35:881]  0]LogInit:  - built for x86_64-pc-win32
[2015.12.18-21.03.35:881]  0]LogInit:  - supports SSL with WinSSL
[2015.12.18-21.03.35:881]  0]LogInit:  - other features:
[2015.12.18-21.03.35:881]  0]LogInit:      CURL_VERSION_SSL
[2015.12.18-21.03.35:881]  0]LogInit:      CURL_VERSION_IPV6
[2015.12.18-21.03.35:881]  0]LogInit:      CURL_VERSION_ASYNCHDNS
[2015.12.18-21.03.35:881]  0]LogInit:      CURL_VERSION_LARGEFILE
[2015.12.18-21.03.35:881]  0]LogInit:      CURL_VERSION_IDN
[2015.12.18-21.03.35:881]  0]LogInit:  CurlRequestOptions (configurable via config and command line):
[2015.12.18-21.03.35:881]  0]LogInit:  - bVerifyPeer = true  - Libcurl will verify peer certificate
[2015.12.18-21.03.35:881]  0]LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
[2015.12.18-21.03.35:881]  0]LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
[2015.12.18-21.03.35:881]  0]LogInit:  - CertBundlePath = nullptr  - Libcurl will use whatever was configured at build time.
[2015.12.18-21.03.35:881]  0]LogOnline:Display: STEAM: Loading Steam SDK 1.35
[2015.12.18-21.03.37:223]  0]LogInit: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
[2015.12.18-21.03.37:235]  0]LogInit: Presizing for 0 objects not considered by GC, pre-allocating 0 bytes.
[2015.12.18-21.03.37:240]  0]LogInit: Object subsystem initialized
[2015.12.18-21.03.37:241]  0]LogInit: Selected Device Profile: [WindowsServer]
[2015.12.18-21.03.37:241]  0]LogInit: Applying CVar settings loaded from the selected device profile: [WindowsServer]
[2015.12.18-21.03.37:247]  0]LogInit: Computer: CHAOSS-PC
[2015.12.18-21.03.37:247]  0]LogInit: User: chaos
[2015.12.18-21.03.37:248]  0]LogInit: CPU Page size=4096, Cores=12
[2015.12.18-21.03.37:248]  0]LogInit: High frequency timer resolution =2.734373 MHz
[2015.12.18-21.03.37:249]  0]LogMemory: Memory total: Physical=31.9GB (32GB approx)
[2015.12.18-21.03.37:250]  0]LogMemory: Platform Memory Stats for WindowsServer
[2015.12.18-21.03.37:250]  0]LogMemory: Process Physical Memory: 51.99 MB used, 51.99 MB peak
[2015.12.18-21.03.37:251]  0]LogMemory: Process Virtual Memory: 68.41 MB used, 68.41 MB peak
[2015.12.18-21.03.37:251]  0]LogMemory: Physical Memory: 12611.84 MB used, 32657.73 MB total
[2015.12.18-21.03.37:251]  0]LogMemory: Virtual Memory: 347.19 MB used, 134217728.00 MB total
[2015.12.18-21.03.37:863]  0]LogTextLocalizationManager: No specific translations for ('en-US') exist, so ('en') translations will be used.
[2015.12.18-21.03.37:967]  0]LogInit: Selected Device Profile: [WindowsServer]
[2015.12.18-21.03.38:165]  0]LogModuleManager:Warning: ModuleManager: Module 'XAudio2' not found - its StaticallyLinkedModuleInitializers function is null.
[2015.12.18-21.03.38:302]  0]LogObj: 23903 objects as part of root set at end of initial load.
[2015.12.18-21.03.38:302]  0]LogUObjectAllocator: 4894584 out of 0 bytes used by permanent object pool.
[2015.12.18-21.03.38:313]  0]LogEngine: Initializing Engine...
[2015.12.18-21.03.38:317]  0]LogInit: Texture streaming: Disabled
[2015.12.18-21.03.38:322]  0]LogNet: Browse: /Game/Maps/ADServerEntry?Name=Player
[2015.12.18-21.03.38:322]  0]LogLoad: LoadMap: /Game/Maps/ADServerEntry?Name=Player
[2015.12.18-21.03.38:340]  0]LogMemory: Platform Memory Stats for WindowsServer
[2015.12.18-21.03.38:340]  0]LogMemory: Process Physical Memory: 101.84 MB used, 101.84 MB peak
[2015.12.18-21.03.38:340]  0]LogMemory: Process Virtual Memory: 162.00 MB used, 162.00 MB peak
[2015.12.18-21.03.38:341]  0]LogMemory: Physical Memory: 12669.96 MB used, 32657.73 MB total
[2015.12.18-21.03.38:342]  0]LogMemory: Virtual Memory: 478.49 MB used, 134217728.00 MB total
[2015.12.18-21.03.38:342]  0]LogMemory: 
[2015.12.18-21.03.38:343]  0]LogMemory: Allocator Stats for binned:
[2015.12.18-21.03.38:343]  0]LogMemory: Current Memory 93.71 MB used, plus 3.03 MB waste
[2015.12.18-21.03.38:344]  0]LogMemory: Peak Memory 97.15 MB used, plus 1.21 MB waste
[2015.12.18-21.03.38:344]  0]LogMemory: Current OS Memory 96.74 MB, peak 98.35 MB
[2015.12.18-21.03.38:345]  0]LogMemory: Current Waste 0.47 MB, peak 0.49 MB
[2015.12.18-21.03.38:345]  0]LogMemory: Current Used 93.71 MB, peak 97.15 MB
[2015.12.18-21.03.38:346]  0]LogMemory: Current Slack 2.57 MB
[2015.12.18-21.03.38:346]  0]LogMemory: Allocs       109958 Current /  880992 Total
[2015.12.18-21.03.38:347]  0]LogMemory: 
[2015.12.18-21.03.38:347]  0]LogMemory: Block Size Num Pools Pools Cur Allocs Total Allocs Min Req Req Mem Used Mem Slack Mem Waste Efficiency
[2015.12.18-21.03.38:348]  0]LogMemory: ---------- --------- --------- ---------- ------------ ------- ------- -------- --------- --------- ----------
[2015.12.18-21.03.38:348]  0]LogMemory:          8         0         0          0            0       8       0       0K        0K        0K    100.00%
[2015.12.18-21.03.38:349]  0]LogMemory:         16         4         4      12295       196818      16      16     192K       64K        0K    100.00%
[2015.12.18-21.03.38:349]  0]LogMemory:         32        12        12      20212        99122      17      32     631K      137K       48K     93.75%
[2015.12.18-21.03.38:350]  0]LogMemory:         48         8         8       8299        37267      33      48     389K      123K       47K     90.82%
[2015.12.18-21.03.38:350]  0]LogMemory:         64        17        17      16459        71030      49      64    1028K       60K      101K     90.72%
[2015.12.18-21.03.38:350]  0]LogMemory:         80         9         9       6907        49685      65      80     539K       37K       37K     93.58%
[2015.12.18-21.03.38:352]  0]LogMemory:         96         5         5       3198        32816      82      96     299K       21K       20K     93.75%
[2015.12.18-21.03.38:353]  0]LogMemory:        112         3         4       1605        18395      98     112     175K       17K       11K     94.27%
[2015.12.18-21.03.38:353]  0]LogMemory:        128        36        36      18266        39128     114     128    2283K       21K       83K     96.40%
[2015.12.18-21.03.38:354]  0]LogMemory:        160         9        16       3400        48024     129     160     531K       45K       39K     93.23%
[2015.12.18-21.03.38:355]  0]LogMemory:        192        15        15       4971        88581     162     192     932K       28K       73K     92.40%
[2015.12.18-21.03.38:355]  0]LogMemory:        224         3         3        781        70597     194     224     170K       22K       12K     93.75%
[2015.12.18-21.03.38:356]  0]LogMemory:        256        21        37       5154        45627     226     256    1288K       56K      110K     91.82%
[2015.12.18-21.03.38:356]  0]LogMemory:        288         5         5       1102        33279     258     288     309K       11K       18K     94.38%
[2015.12.18-21.03.38:357]  0]LogMemory:        320         4         4        623         9002     290     320     194K       61K       10K     96.09%
[2015.12.18-21.03.38:357]  0]LogMemory:        384        12        12       1941        15770     322     384     727K       38K       67K     91.28%
[2015.12.18-21.03.38:358]  0]LogMemory:        448        13        13       1745         7739     385     448     763K       68K       47K     94.35%
[2015.12.18-21.03.38:358]  0]LogMemory:        512         4         4        386         3441     450     512     193K       63K       13K     94.92%
[2015.12.18-21.03.38:359]  0]LogMemory:        576         6         6        300         1289     516     576     168K      214K        9K     97.66%
[2015.12.18-21.03.38:360]  0]LogMemory:        640         8         9         93         1006     578     640      58K      452K        5K     99.02%
[2015.12.18-21.03.38:360]  0]LogMemory:        704         8         9        194          968     642     704     133K      379K        5K     99.02%
[2015.12.18-21.03.38:361]  0]LogMemory:        768         3         3        171         1528     705     768     128K       64K        2K     98.96%
[2015.12.18-21.03.38:361]  0]LogMemory:        896         3         3        187          556     769     896     163K       29K        5K     97.40%
[2015.12.18-21.03.38:362]  0]LogMemory:       1024         3         3        152          280     897    1024     152K       40K        7K     96.35%
[2015.12.18-21.03.38:362]  0]LogMemory:       1168         2         2         64          334    1026    1166      73K       55K        4K     96.88%
[2015.12.18-21.03.38:363]  0]LogMemory:       1360         4         5        187         1703    1172    1360     248K        7K       13K     94.92%
[2015.12.18-21.03.38:364]  0]LogMemory:       1632         8         8        304          527    1368    1632     484K       26K       33K     93.55%
[2015.12.18-21.03.38:364]  0]LogMemory:       2048         7         7        142          469    1633    2048     284K      164K       31K     93.08%
[2015.12.18-21.03.38:365]  0]LogMemory:       2336         2         2         47         2574    2050    2336     107K       21K       12K     90.63%
[2015.12.18-21.03.38:365]  0]LogMemory:       2720         4         4         85          163    2342    2717     225K       30K       17K     93.36%
[2015.12.18-21.03.38:366]  0]LogMemory:       3264         6         7        120          823    2721    3264     382K        1K       21K     94.53%
[2015.12.18-21.03.38:366]  0]LogMemory:       4096        12        12        185          434    3265    4096     740K       28K       75K     90.23%
[2015.12.18-21.03.38:367]  0]LogMemory:       4672         7         7         86          797    4104    4657     392K       56K       13K     97.10%
[2015.12.18-21.03.38:367]  0]LogMemory:       5456         4         5         48          140    4673    5385     255K        1K       26K     89.84%
[2015.12.18-21.03.38:368]  0]LogMemory:       6544         6         7         53          134    5492    6537     338K       46K       24K     93.75%
[2015.12.18-21.03.38:368]  0]LogMemory:       8192         4         6         29          427    6560    8192     232K       24K       40K     84.38%
[2015.12.18-21.03.38:370]  0]LogMemory:       9360         4         4         23           83    8200    9360     210K       46K       11K     95.70%
[2015.12.18-21.03.38:372]  0]LogMemory:      10912         3         3         15           36    9383   10816     159K       33K       11K     94.27%
[2015.12.18-21.03.38:372]  0]LogMemory:      13104         2         2          6           37   10976   13056      76K       52K        3K     97.66%
[2015.12.18-21.03.38:373]  0]LogMemory:      16384         4         7         16           51   13120   16384     256K        0K       27K     89.45%
[2015.12.18-21.03.38:373]  0]LogMemory:      21840        10        11         29           70   16400   20592     618K       22K      108K     83.13%
[2015.12.18-21.03.38:374]  0]LogMemory:      32768         5         6         10           45   22960   32640     320K        0K       58K     81.88%
[2015.12.18-21.03.38:374]  0]LogMemory: 
[2015.12.18-21.03.38:375]  0]LogMemory: 19520K allocated in pools (with 2662K slack and 1296K waste). Efficiency 93.36%
[2015.12.18-21.03.38:376]  0]LogMemory: Allocations 109891 Current / 880796 Total (in 305 pools)
[2015.12.18-21.03.38:376]  0]LogMemory: 
[2015.12.18-21.03.38:378]  0]LogModuleManager:Warning: ModuleManager: Module 'GameplayDebugger' not found - its StaticallyLinkedModuleInitializers function is null.
[2015.12.18-21.03.38:379]  0]LogAIModule: Creating AISystem for world ADServerEntry
[2015.12.18-21.03.38:380]  0]LogWorld: Game class is 'ADManager_C'
[2015.12.18-21.03.38:381]  0]LogNet:Display: SteamNetDriver_0 bound to port 7777
[2015.12.18-21.03.38:381]  0]LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777
[2015.12.18-21.03.38:382]  0]LogWorld: Bringing World /Game/Maps/ADServerEntry.ADServerEntry up for play (tick rate 30) at 2015.12.18-21.03.38
[2015.12.18-21.03.38:382]  0]LogWorld: Bringing up level for play took: 0.000469
[2015.12.18-21.03.38:382]  0]LogBlueprintUserMessages: [ADServerEntry_C_1] ADServer Initialized.
[2015.12.18-21.03.38:384]  0]LogBlueprintUserMessages: [ADServerEntry_C_1] Initializing session...
[2015.12.18-21.03.38:384]  0]LogInit:Display: Game Engine Initialized.
[2015.12.18-21.03.38:385]  0]LogWindows:Error: Windows GetLastError: The operation completed successfully. (0)
[2015.12.18-21.03.38:385]  0]LogLoad: Full Startup: 2.83 seconds (BP compile: 0.00 seconds)
[2015.12.18-21.03.38:641]  5]LogThreadingWindows:Error: Runnable thread OnlineAsyncTaskThreadSteam DefaultInstance crashed.
[2015.12.18-21.03.38:641]  5]LogWindows:Error: === Critical error: ===
Assertion failed: SteamUtilsPtr [File:C:\Program Files\Epic Games\UnrealEngine-release\Engine\Source\Runtime\Online\OnlineSubsystemSteam\Private\OnlineSessionAsyncLobbySteam.cpp] [Line: 434] 




Crash in runnable thread OnlineAsyncTaskThreadSteam DefaultInstance

[2015.12.18-21.03.38:641]  5]LogExit: Executing StaticShutdownAfterError
[2015.12.18-21.03.38:641]  5]LogWindows: FPlatformMisc::RequestExit(1)
[2015.12.18-21.03.38:641]  5]Log file closed, 12/18/15 21:03:38


Changing presence from ā€œfalseā€ to ā€œtrueā€ seems to have fixed the issue, exposing the setting would be ideal though.

1 Like

Yeah I noted before that exposing presence would probably be something I should do at some point, uploading a new build where I expose it (and every other missing setting that I had defaulted to a value), the create advanced sessions node is a monster of booleans now but it has them all on it.

Upload will be live when the build is complete.

Edit Build is uploaded

1 Like

[QUOTE=;441152]
Yeah I noted before that exposing presence would probably be something I should do at some point, uploading a new build where I expose it (and every other missing setting that I had defaulted to a value), the create advanced sessions node is a monster of booleans now but it has them all on it.

Upload will be live when the build is complete.

Edit Build is uploaded

Itā€™s the classic ā€œItā€™s better to have it than not need it, than need it and not have itā€, after all this is ADVANCED sessions plugin, so itā€™s better to have all the options exposed. Weā€™re almost there I believe and the session now created on the dedicated server, however Iā€™m running into some issues finding the now created session. I simply cannot see it when i find session :s.

In the dedicated server log Iā€™m getting some warnings which may or may not be preventing the session from being advertised to the master server. These wereā€¦



[2015.12.21-22.01.06:765] 39]LogOnline:Warning: STEAM: Server setting ,SESSIONFLAGS:651 overflows Steam SetGameTags call
[2015.12.21-22.01.06:766] 39]LogScript:Warning: StartSessionCallback - Invalid player state


This was with the older plugin where I just changed bUsesPresence from true to false. The newer version with the correct settings checked produces the same following warnings and I am still unable to find the created session. I should note that the SteamNetDriver does initialize and the integration seems to work, the server detects if I close the Steam client, so the connection is there. The session does also create (it doesnā€™t fail). I am completely at a loss as to why i cannot find the created session :s

edit: I should add that I can ā€˜createā€™ a session as the client and am able to find said session over the net. The dedicated server is where the problem seems to be.

1 Like

Thanks! Works perfectly. It is unbelieveable that Epic didnā€™t include Session filtering in this engine! One of the most important thing in whole multiplayer. Multiplayer with different maps or game modes was impossible to create without this.

1 Like

[QUOTE=Chaoss;441375]
Itā€™s the classic ā€œItā€™s better to have it than not need it, than need it and not have itā€, after all this is ADVANCED sessions plugin, so itā€™s better to have all the options exposed. Weā€™re almost there I believe and the session now created on the dedicated server, however Iā€™m running into some issues finding the now created session. I simply cannot see it when i find session :s.

In the dedicated server log Iā€™m getting some warnings which may or may not be preventing the session from being advertised to the master server. These wereā€¦



[2015.12.21-22.01.06:765] 39]LogOnline:Warning: STEAM: Server setting ,SESSIONFLAGS:651 overflows Steam SetGameTags call
[2015.12.21-22.01.06:766] 39]LogScript:Warning: StartSessionCallback - Invalid player state


This was with the older plugin where I just changed bUsesPresence from true to false. The newer version with the correct settings checked produces the same following warnings and I am still unable to find the created session. I should note that the SteamNetDriver does initialize and the integration seems to work, the server detects if I close the Steam client, so the connection is there. The session does also create (it doesnā€™t fail). I am completely at a loss as to why i cannot find the created session :s

edit: I should add that I can ā€˜createā€™ a session as the client and am able to find said session over the net. The dedicated server is where the problem seems to be.

Appears to be this: [Bug Report] Steam Server Settings always exceed k_cbMaxGameServerTags - Platform & Builds - Epic Developer Community Forums

I donā€™t think i can fix it through a plugin, it is a hard limit of 128 characters for the session data string and that includes the owning player id, all of the text based settings, and the optional ones you add in.


	if (GameTagsString.Len() + NewKey.Len() < k_cbMaxGameServerTags **(128)**)
		{
			GameTagsString += NewKey;
		}
		else
		{
			UE_LOG_ONLINE(Warning, TEXT("Server setting %s overflows Steam SetGameTags call"), *NewKey);
		}


That is the problem there, if it overflows it doesnā€™t pass in the remaining keys and just sends half formed. The only way I can think of getting around that with a plugin would be to copy the steam subsystem and re-write the offending section to use smaller key strings and not pass in un-used ones, I have gone into this from the beginning trying to avoid re-writing any of the steam subsystem as this is intended to compliment their implementation, not override it. The most obvious fix would be removing that like 20 character long server name that is always generated automatically off of the player ID to make more space in the string but that is hardcoded into the subsystem.

1 Like

Hello! I implemented a proximity voice system and I would like to share with you.
I implemented this system with the help of ā€œVictory Pluginā€.

To implement this system needs to be done:

  1. Install in your project ā€œVictory Pluginā€
  2. Create Sound Class (http://imgur.com/xXYChFe)
  3. In Project Settings set this class (http://imgur.com/cYGADj0)
  4. Make a chart like mine (http://imgur.com/AaIus84 and http://imgur.com/7L08ByT)

And
Source: https://github.com/thedark174/ProximityVoipProject

P.S: This system is certainly not perfect and needs some work
P.S.S: And I apologize for bad English :slight_smile:

1 Like

[QUOTE=thedark174;441758]
Hello! I implemented a proximity voice system and I would like to share with you.
I implemented this system with the help of ā€œVictory Pluginā€.

To implement this system needs to be done:

  1. Install in your project ā€œVictory Pluginā€
  2. Create Sound Class (Imgur: The magic of the Internet)
  3. In Project Settings set this class (Imgur: The magic of the Internet)
  4. Make a chart like mine (Imgur: The magic of the Internet and Imgur: The magic of the Internet)

And
Source: MEGA
Package Project: MEGA

P.S: This system is certainly not perfect and needs some work
P.S.S: And I apologize for bad English :slight_smile:

Nice, I just wish per actor volume was possible with the current sound system. Good to see you figured out how to use the voice system.

1 Like

Hello! First of all, like many others did before, i have to tell you that you did a great job so far with this plugin. Exactly what i was looking for :slight_smile:

I now have two questions:

  1. what are all the (new) bool-options in the ā€œcreateAdvancedSessionā€-Node for that came with the 4.10-version?

  2. I have a game with 2 different races (each one with 10 Players) fighting each other. To control, that none of these teams get more than 10 players, i made two session-property-integer, that count the current amount of players per race, so that, if a session already has 10 players of race A, no more player of this race will find that session. But of course, i have to update one of this integers everytime a player joins/leaves the session. And therefore i have two other questions: is there already an event implemented, that fires, when a player joins or leaves a session? And can a client use the ā€œUpdateSessionā€-Node or can this one just be called by the server?

1 Like

[QUOTE=FriendlyFire1;447996]
Hello! First of all, like many others did before, i have to tell you that you did a great job so far with this plugin. Exactly what i was looking for :slight_smile:

I now have two questions:

  1. what are all the (new) bool-options in the ā€œcreateAdvancedSessionā€-Node for that came with the 4.10-version?

  2. I have a game with 2 different races (each one with 10 Players) fighting each other. To control, that none of these teams get more than 10 players, i made two session-property-integer, that count the current amount of players per race, so that, if a session already has 10 players of race A, no more player of this race will find that session. But of course, i have to update one of this integers everytime a player joins/leaves the session. And therefore i have two other questions: is there already an event implemented, that fires, when a player joins or leaves a session? And can a client use the ā€œUpdateSessionā€-Node or can this one just be called by the server?

Server only for the update session node, but there is a built in event for new players. Pretty sure it is ā€œPostLoginā€ in the GameMode, just bind to that and update the session as needed. The new bool options are for advanced use, they allow you to turn off advertising the server and a few other things, unless you are running a dedicated server I would leave them default.

1 Like

Hello - First let me say this is a great plugin and thanks so much for making this public and free!

I have a request. This may not be the place/plugin for this but Iā€™m gonna toss it out there just in case. I am currently trying to implement passing arguments to my server on client connect. I am following the tutorial here. The only thing I really need is to override the InitNewPlayer in GameMode. I can do this but it sure would be great if this function were exposed to BP. Would that be something you would consider adding to this plugin or is that out of scope for your feature set?

Many thanks for considering!

1 Like

[QUOTE=antsonthetree;449447]
Hello - First let me say this is a great plugin and thanks so much for making this public and free!

I have a request. This may not be the place/plugin for this but Iā€™m gonna toss it out there just in case. I am currently trying to implement passing arguments to my server on client connect. I am following the tutorial here. The only thing I really need is to override the InitNewPlayer in GameMode. I can do this but it sure would be great if this function were exposed to BP. Would that be something you would consider adding to this plugin or is that out of scope for your feature set?

Many thanks for considering!

Itā€™s possible to add but I donā€™t think it is a good fit for this plugin. Mostly because I donā€™t want to bloat the classes too much and doing it correctly would require providing overrides for the Playercontroller AND the gamemode. Also the classes would be mostly empty as the functions required are only a few lines long.

There also is very rarely ever a case where I can see this being required, as you generally can use an RPC after connecting to retrieve additional information and passing parameters in with the connection string is probably a sign of bad game flow design more than anything else.

1 Like

Hi - thanks for the quick reply and I do understand your concerns. Fair enough. :slight_smile: Out of curiosity what would need to be changed in the PlayerController to do it correctly? You can PM that if it is too off topic.

1 Like

You probably donā€™t need to as you sound like you are manually calling open on an IP and can tack them on. However for a plugin it would be far cleaner to have a string array in the player controller that is appended to the connection string to pass on.

1 Like

Ok I see - yes Iā€™m just manually adding it to my open call. Thanks for the info!

1 Like

Is there a way to make a group vice chat like guild has own chat channels when they make or similar ?

1 Like

[QUOTE=demonith88;450987]
Is there a way to make a group vice chat like guild has own chat channels when they make or similar ?

With the engines current sound system (they are overhauling it though) you would have to manage registering and de-registering people to achieve something close to that.

1 Like