pretendo-docker icon indicating copy to clipboard operation
pretendo-docker copied to clipboard

I need help with connecting to an implementation of a Tri Force Heroes server.

Open SuperLuxus opened this issue 9 months ago • 3 comments

Hello there, Matthew!

I am a staff member of the Tri Force Heroes Discord server and wanted some help from you with getting an instance of the Tri Force Heroes server implementation to run.

You probably know that the official Pretendo Tri Force Heroes servers are unavailable right now, and we wanted to set up our own server instance so our members can play even if the official servers are down, which has been the case for quite a while now.

We were able to get all of the necessary servers to run, and configured everything so that the TFH server receives requests from consoles.

However, it seems that a method is not implemented, and i assume that this is making the connection to a mesh fail with a generic error.

Here are the docker compose logs for the TFH server:

tri-force-heroes-1  | 
tri-force-heroes-1  | [2025-03-12T18:05:58] [SUCCESS]  [func ConnectPostgres() github.com/PretendoNetwork/tri-force-heroes/database/connect_postgres.go:22] : Connected to Postgres!
tri-force-heroes-1  | 
tri-force-heroes-1  | [2025-03-12T18:05:58] [SUCCESS]  [func initPostgres() github.com/PretendoNetwork/tri-force-heroes/database/init_postgres.go:25] : Postgres tables created
tri-force-heroes-1  | 
tri-force-heroes-1  | [2025-03-12T18:05:58] [INFO]     [func NewCommonMatchmakeExtensionProtocol() github.com/PretendoNetwork/nex-protocols-common-go/matchmake-extension/protocol.go:85] : Using default MatchmakeExtension protocol
tri-force-heroes-1  | 
tri-force-heroes-1  | [2025-03-12T18:05:58] [SUCCESS]  [func (*Server).Listen() github.com/PretendoNetwork/nex-go/server.go:82] : PRUDP server listening on address - :6011
tri-force-heroes-1  | 
tri-force-heroes-1  | [2025-03-12T18:05:58] [SUCCESS]  [func (*Server).Listen() github.com/PretendoNetwork/nex-go/server.go:82] : PRUDP server listening on address - :6010
tri-force-heroes-1  | 
tri-force-heroes-1  | ==Tri-Force Heroes - Auth==
tri-force-heroes-1  | Protocol ID: 0xa
tri-force-heroes-1  | Method ID: 0x2
tri-force-heroes-1  | ===============
tri-force-heroes-1  | ==Tri-Force Heroes - Auth==
tri-force-heroes-1  | Protocol ID: 0xa
tri-force-heroes-1  | Method ID: 0x3
tri-force-heroes-1  | ===============
tri-force-heroes-1  | ==Tri-Force Heroes - Secure==
tri-force-heroes-1  | Protocol ID: 0xb
tri-force-heroes-1  | Method ID: 0x1
tri-force-heroes-1  | ===============
tri-force-heroes-1  | ==Tri-Force Heroes - Secure==
tri-force-heroes-1  | Protocol ID: 0x6d
tri-force-heroes-1  | Method ID: 0x10
tri-force-heroes-1  | ===============
tri-force-heroes-1  | 00000000
tri-force-heroes-1  | ==Tri-Force Heroes - Secure==
tri-force-heroes-1  | Protocol ID: 0x6d
tri-force-heroes-1  | Method ID: 0x28
tri-force-heroes-1  | ===============
tri-force-heroes-1  | [2025-03-12T18:07:16] [WARNING]  [func (*Protocol).handleAutoMatchmakeWithParamPostpone() github.com/PretendoNetwork/nex-protocols-go/matchmake-extension/auto_matchmake_with_param_postpone.go:21] : MatchmakeExtension::AutoMatchmakeWithParamPostpone not implemented

I can also provide logs of the account and friends servers as well as the request originating from the console, in case this is not enough.

I am looking forward to your answer, and thank you for helping!

SuperLuxus avatar Mar 12 '25 18:03 SuperLuxus

Sorry, I'm afraid I don't really have anything helpful to add here. I can see from the logs that the client is successfully connecting to the NEX server, so it looks like the account server and environment variables are correctly configured. The internal operations of NEX servers are not my area of expertise, so I don't know how to fix the issue you're seeing :(

MatthewL246 avatar Mar 13 '25 16:03 MatthewL246

Oh, that's a bummer :/

Do you know someone that could help us with this? We've looked at the code and as it looks like, the request that the 3DS is sending is empty, but we really have no idea where it could go wrong, since mitmproxy shows that data is definitely being sent to the server.

I would also try to look into what could cause this myself, but i don't know how to use the Go delve debugger, and i am not familiar with Go generally, so i would appreciate if you could help me with getting it to work.

SuperLuxus avatar Mar 23 '25 09:03 SuperLuxus

You could ping shutterbug2000 or DaniElectra in the TFH server's GitHub issues or a Discord thread. I know that they're both pretty involved with NEX server development.

As far as debugging goes, don't worry about not being familiar with Go. I wasn't either when I started with this project. You'd need to edit the Dockerfile to set up debugging, expose the debugger port in the compose.yml (like the other Go servers, just increment the port), and start a remote debugging session in your IDE. I have a configuration for VSCode in the launch.json, but you should be able to use other IDEs. After that, it just feels like a debugger for any other language.

MatthewL246 avatar Mar 23 '25 14:03 MatthewL246