I can possess with camera snap back to Pawn on server side, but client side is totally ******.(can’t move at all.)
Here is the output log, it seems during the call to client restart, it gets None like begining of server setup.
//finished level loading
LogWorld: Bringing up level for play took: 0.001023
LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
LogNet: Join request: /Engine/Maps/Entry?SplitscreenCount=1
LogNet: Join succeeded: 301
LogNet: Join request: /Engine/Maps/Entry?SplitscreenCount=1
LogNet: Join succeeded: 302
LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
LogNet: TestPC_C_2 setplayer LocalPlayer_22 //Player Controller 1 assigned
LogPlayerController: ClientRestart_Implementation None
LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
LogNet: TestPC_C_3 setplayer LocalPlayer_23 //Player Controller 2 assigned
LogPlayerController: ClientRestart_Implementation None // don't know which one gets the client restart first.
LogPlayerController: ClientRetryClientRestart_Implementation ScratchPawn_C_2, AcknowledgedPawn: None // one of the client gets a replicated Pawn, server not acknowledged yet
LogPlayerController: ClientRestart_Implementation ScratchPawn_C_2 // one client gets restart with this pawn
LogPlayerController: ClientRetryClientRestart_Implementation ScratchPawn_C_5, AcknowledgedPawn: None
LogPlayerController: ClientRestart_Implementation ScratchPawn_C_5
LogPlayerController: ServerAcknowledgePossession_Implementation ScratchPawn_C_0 //server side acknowledge this pawn is possessed(notice that name is different from above, _0 could be server side of _2
LogPlayerController: ServerAcknowledgePossession_Implementation ScratchPawn_C_1 // acknowledge another client possession
LogBlueprintUserMessages: PW Server call respawn // server side Pawn called respawn event on destroyed
LogBlueprintUserMessages: GM respawn event // my GameMode respawne event called(Run On Server )
LogBlueprintUserMessages: GM trying to spawn // running
LogBlueprintUserMessages: GM serverside possess // same line where server side begin the possess( camera snaps to newly spawn Pawn )
LogBlueprintUserMessages: GM call owning client possess // call a "Run on Owning client", to call client possess.
LogPlayerController: ClientRestart_Implementation None //some how this is called on the server side playercontroller
LogBlueprintUserMessages: PC client possess // the event print on client side PlayerController
Maybe I need to also print the names of used pawn and PC to help me understand this better.