fuzziqersoftware / newserv

Phantasy Star Online game server, proxy, and reverse-engineering tools
MIT License
166 stars 37 forks source link

[PSOBB] Cannot proceed past 'Go To Lobby' screen, disconnects when 'Go To Lobby' is selected #298

Closed ShiftaDeband closed 10 months ago

ShiftaDeband commented 10 months ago

I've updated to the most recent build, made sure my config is up-to-date, but I cannot get clients to get past the Ship Select screen. This is with the EnableEpisode3SendFunctionCall disabled, just to note, which I believe is different from the last issue.

What happens is that immediately after selecting 'Go To Lobby', the client immediately disconnects. The log indicates: Unknown command: size=0000 command=00B1 flag=00000000

This was tested on the 1.24.3 executable and tested with a custom 'CreateTethExe' as well, and I get the same result on both.

I can try to hunt down the commit that seems to have changed this, but here's the log in the meantime.

I 21271 2023-12-27 21:31:01 - [Server] Client connected: C-A on fd 38 via 14 (T-12004-BB_V4-bb-data1-login_server)
I 21271 2023-12-27 21:31:01 - [Commands] Sending to C-A (version=BB command=0003 flag=00000000)
0000 | 7C 01 03 00 00 00 00 00 50 68 61 6E 74 61 73 79 | |       Phantasy
0010 | 20 53 74 61 72 20 4F 6E 6C 69 6E 65 20 42 6C 75 |  Star Online Blu
0020 | 65 20 42 75 72 73 74 20 47 61 6D 65 20 53 65 72 | e Burst Game Ser
0030 | 76 65 72 2E 20 43 6F 70 79 72 69 67 68 74 20 31 | ver. Copyright 1
0040 | 39 39 39 2D 32 30 30 34 20 53 4F 4E 49 43 54 45 | 999-2004 SONICTE
0050 | 41 4D 2E 00 00 00 00 00 00 00 00 00 00 00 00 00 | AM.             
0060 | 00 00 00 00 00 00 00 00 DE 2D BE 9F FA C5 8C A7 |          -      
0070 | B0 FF 35 93 A9 D5 52 63 6D DF 7C CA AE 4C 3F BA |   5   Rcm |  L? 
0080 | 63 17 70 7E D2 56 CF 93 29 3F 2A CA 19 8C F0 61 | c p~ V  )?*    a
0090 | BB A1 5A 81 2C 3C 5D 22 0D F3 92 5E B8 BB BC AC |   Z ,<]"   ^    
00A0 | 82 DF 05 29 95 61 96 D0 B1 BC 9B FF 05 04 31 E6 |    ) a        1 
00B0 | 22 F8 88 C0 D0 B3 7B 76 B9 E9 F7 4E 6A 7A 09 B1 | "     {v   Njz  
00C0 | 5A 14 C1 70 E9 CB F9 D8 54 68 69 73 20 73 65 72 | Z  p    This ser
00D0 | 76 65 72 20 69 73 20 69 6E 20 6E 6F 20 77 61 79 | ver is in no way
00E0 | 20 61 66 66 69 6C 69 61 74 65 64 2C 20 73 70 6F |  affiliated, spo
00F0 | 6E 73 6F 72 65 64 2C 20 6F 72 20 73 75 70 70 6F | nsored, or suppo
0100 | 72 74 65 64 20 62 79 20 53 45 47 41 20 45 6E 74 | rted by SEGA Ent
0110 | 65 72 70 72 69 73 65 73 20 6F 72 20 53 4F 4E 49 | erprises or SONI
0120 | 43 54 45 41 4D 2E 20 54 68 65 20 70 72 65 63 65 | CTEAM. The prece
0130 | 64 69 6E 67 20 6D 65 73 73 61 67 65 20 65 78 69 | ding message exi
0140 | 73 74 73 20 6F 6E 6C 79 20 74 6F 20 72 65 6D 61 | sts only to rema
0150 | 69 6E 20 63 6F 6D 70 61 74 69 62 6C 65 20 77 69 | in compatible wi
0160 | 74 68 20 70 72 6F 67 72 61 6D 73 20 74 68 61 74 | th programs that
0170 | 20 65 78 70 65 63 74 20 69 74 2E 00             |  expect it.     
I 21271 2023-12-27 21:31:01 - [Commands] Received from C-A (version=BB command=0093 flag=00000000)
0000 | B4 00 93 00 00 00 00 00 00 00 01 00 E5 71 D0 2F |              q /
0010 | 52 00 00 00 01 00 04 00 00 00 00 00 74 65 73 74 | R           test
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 74 65 73 74 |             test
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0080 | 00 00 00 00 01 01 8D 7A 9C D7 41 BB 32 AC 99 83 |        z  A 2   
0090 | 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF |                 
00A0 | FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF FF |                 
00B0 | 80 FF FF FF                                     |                 
I 21271 2023-12-27 21:31:01 - [Commands] Sending to C-A (version=BB command=00E6 flag=00000000)
0000 | 44 00 E6 00 00 00 00 00 00 00 00 00 00 00 01 00 | D               
0010 | E5 71 D0 2F 00 00 00 00 32 AC 99 83 00 00 00 00 |  q /    2       
0020 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF |                 
0030 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF |                 
0040 | 01 01 00 00                                     |                 
I 21271 2023-12-27 21:31:01 - [Commands] Sending to C-A (version=BB command=0007 flag=00000002)
0000 | 8C 00 07 00 02 00 00 00 11 00 00 11 FF FF FF FF |                 
0010 | 04 00 30 00 31 00 3A 00 55 00 53 00 2F 00 50 00 |   0 1 : U S / P 
0020 | 6F 00 6C 00 6C 00 75 00 78 00 00 00 00 00 00 00 | o l l u x       
0030 | 00 00 00 00 11 00 00 11 11 22 22 11 04 00 47 00 |          ""   G 
0040 | 6F 00 20 00 74 00 6F 00 20 00 6C 00 6F 00 62 00 | o   t o   l o b 
0050 | 62 00 79 00 00 00 00 00 00 00 00 00 00 00 00 00 | b y             
0060 | 11 00 00 11 11 88 88 11 04 00 44 00 69 00 73 00 |           D i s 
0070 | 63 00 6F 00 6E 00 6E 00 65 00 63 00 74 00 00 00 | c o n n e c t   
0080 | 00 00 00 00 00 00 00 00 00 00 00 00             |                 
I 21271 2023-12-27 21:31:02 - Cleared 1 expired system file(s)
I 21271 2023-12-27 21:31:02 - Cleared 1 expired character file(s)
I 21271 2023-12-27 21:31:02 - Cleared 1 expired Guild Card file(s)
I 21271 2023-12-27 21:31:03 - [Commands] Received from C-A (version=BB command=0010 flag=00000000)
0000 | 10 00 10 00 00 00 00 00 11 00 00 11 11 22 22 11 |              "" 
I 21271 2023-12-27 21:31:03 - [Commands] Sending to C-A (version=BB command=0097 flag=00000001)
0000 | 08 00 97 00 01 00 00 00                         |                 
I 21271 2023-12-27 21:31:03 - [Commands] Received from C-A (version=BB command=00E7 flag=00000000)
[snip]
I 21271 2023-12-27 21:31:03 - Loaded system data from system/players/system_test.psosys
I 21271 2023-12-27 21:31:03 - Loaded character data from system/players/player_test_0.psochar
I 21271 2023-12-27 21:31:03 - Loaded Guild Card data from system/players/guild_cards_test.psocard
I 21271 2023-12-27 21:31:03 - [Commands] Received from C-A (version=BB command=0005 flag=00000000)
0000 | 08 00 05 00 00 00 00 00                         |                 
I 21271 2023-12-27 21:31:03 - [Commands] Received from C-A (version=BB command=00B1 flag=00000000)
0000 | 08 00 B1 00 00 00 00 00                         |                 
W 21271 2023-12-27 21:31:03 - [C-A] Unknown command: size=0000 command=00B1 flag=00000000
W 21271 2023-12-27 21:31:03 - [Server] Error processing client command: unimplemented command
I 21271 2023-12-27 21:31:03 - [Server] Client disconnected: C-A on fd 38
I 21271 2023-12-27 21:31:03 - Saved system file system/players/system_test.psosys
I 21271 2023-12-27 21:31:03 - Saved character file system/players/player_test_0.psochar
I 21271 2023-12-27 21:31:03 - Saved Guild Card file system/players/guild_cards_test.psocard
I 21271 2023-12-27 21:31:03 - [C-A] Deleted

disconnect.txt

fuzziqersoftware commented 10 months ago

This is almost certainly the same underlying problem as #297 - incorrect client flags are causing the server to send a 97 command, which it shouldn't do for BB clients.