pterodactyl / panel

Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
https://pterodactyl.io
Other
6.65k stars 1.68k forks source link

server transfer not working #4614

Closed OneHitX closed 5 months ago

OneHitX commented 1 year ago

Current Behavior

after trying to migrate any server to another node the transfer is never completed.

wings shows the message "Finished streaming archive to destination" but nothing happens, the server is locked for hours until the server_transfers table is truncated.

the problem started after the Panel@1.11.1 and Wings@1.11.0 releases

image

Expected Behavior

the server is transferred to the target node

Steps to Reproduce

manage --> transfer server --> select an available node with available resources.

Panel Version

1.11.2

Wings Version

1.11.0

Games and/or Eggs Affected

Minecraft (Paper)

Docker Image

No response

Error Logs

https://ptero.co/kavifybeta

Is there an existing issue for this?

pao2pao16 commented 1 year ago

I am having the same issue as well when I updated to latest panel and wings

matthewpi commented 1 year ago

Do you have anymore logs then what you provided? I know for sure that the transfer system does work, but I know some people have been having issues.

Logs from both nodes (source and destination) would be beneficial.

OneHitX commented 1 year ago

Do you have anymore logs then what you provided? I know for sure that the transfer system does work, but I know some people have been having issues.

Logs from both nodes (source and destination) would be beneficial.

target server logs:

DEBUG: [Jan 2 18:00:54.754] waiting for stream to complete server =c54f0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:54.754] stream completed server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:54.754] received response from destination se rver=c54f0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:54.754] transfer complete server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:01:00.415] GET /api/system client_ip=179.108.11. 82 latency=19.391545ms request_id=7c4b6820-5586-49e9-901f-c3b92c75 e8ae status=200 DEBUG: [Jan 2 18:01:04.691] sending sftp events to Panel cron=sft p subsystem=cron DEBUG: [Jan 2 18:01:04.691] sending internal activity events to P anel cron=activity subsystem=cron DEBUG: [Jan 2 18:01:10.635] closing connection to server websocke t connection=2e7b933a-5afc-483b-86b4-262c8fcf576e server=c54f0325- 5164-485d-bd5b-a29935507088 subsystem=websocket DEBUG: [Jan 2 18:01:10.636] GET /api/servers/c54f0325-5164-485d-b d5b-a29935507088/ws client_ip=179.108.11.82 latency=24.192046586s request_id=8b4a4f87-948e-43a9-b188-7256570b3e52 status=200 DEBUG: [Jan 2 18:01:11.161] opening connection to server websocke t connection=7d7bee5c-c5f1-4ba6-a433-3d5d6276af4b server=c54f0325- 5164-485d-bd5b-a29935507088 subsystem=websocket DEBUG: [Jan 2 18:01:11.171] registering event listeners for conne ction connection=7d7bee5c-c5f1-4ba6-a433-3d5d6276af4b server=c54f0 325-5164-485d-bd5b-a29935507088 subsystem=websocket DEBUG: [Jan 2 18:01:11.427] GET /api/system client_ip=179.108.11. 82 latency=13.242952ms request_id=4ffab9d7-a822-4634-ace6-cae352e7 f3e1 status=200 DEBUG: [Jan 2 18:01:22.456] GET /api/system client_ip=179.108.11.82 latency=17.654377ms request_id=6e410032-c5d4-44a9-a9cf-016a47575ad3 status=200 ERROR: [Jan 2 18:01:28.351] sftp: failed to accept inbound connection error=EOF

Stacktrace: EOF github.com/pterodactyl/wings/sftp.(SFTPServer).AcceptInbound github.com/pterodactyl/wings/sftp/server.go:108 github.com/pterodactyl/wings/sftp.(SFTPServer).Run.func3 github.com/pterodactyl/wings/sftp/server.go:94 runtime.goexit runtime/asm_amd64.s:1571

origin server:

DEBUG: [Jan 2 18:00:42.642] registering event listeners: console, state, resources... server=c54f0325-5164-485d-bd5b-a29935507088 DEBUG: [Jan 2 18:00:42.642] received archive server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:42.642] server: creating root directory and s etting permissions server=c54f0325-5164-485d-bd5b-a29935507088 DEBUG: [Jan 2 18:00:45.555] received checksum server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:45.555] checksums actual=cfe8 a7bb70bc04ef5fc07e8ce15a5f3c652a9a225195bb751dfb315615bfe992 expec ted=cfe8a7bb70bc04ef5fc07e8ce15a5f3c652a9a225195bb751dfb315615bfe9 92 server=c54f0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:45.555] checksums match server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:48.072] pulling docker image... this could ta ke a bit of time image=ghcr.io/pterodactyl/yolks:java_17 DEBUG: [Jan 2 18:00:49.595] GET /api/system client_ip=179.108.11. 82 latency=11.070819ms request_id=7fe9c965-7f49-4865-8f88-e327d02f 0f44 status=200 DEBUG: [Jan 2 18:00:53.327] completed docker image pull image=ghc r.io/pterodactyl/yolks:java_17 DEBUG: [Jan 2 18:00:54.464] done! server=c54f 0325-5164-485d-bd5b-a29935507088 subsystem=transfer DEBUG: [Jan 2 18:00:54.464] making request to external HTTP endpo int endpoint=https://painel.purplehost.com.br/api/remote/servers/c 54f0325-5164-485d-bd5b-a29935507088/transfer/success headers=map[A ccept:[application/vnd.pterodactyl.v1+json] Authorization:[(redact ed)] Content-Type:[application/json] User-Agent:[Pterodactyl Wings /v1.11.0 (id:KrCjALAq5a7r3jXa)]] method=POST ERROR: [Jan 2 18:00:54.905] failed to set transfer status on pane l error=Error response from Panel: MethodNotAllowedHttpException: The POST method is not supported for this route. Supported methods : GET, HEAD. (HTTP/405) server=c54f0325-5164-485d-bd5b-a2993550708 8 status=true subsystem=transfer DEBUG: [Jan 2 18:00:54.905] POST /api/transfers client_ip=131.196 .199.147 latency=12.442673607s request_id=8932458d-3436-4897-99bc- 3c5eab5e823d status=200 DEBUG: [Jan 2 18:01:00.591] GET /api/system client_ip=179.108.11. 82 latency=14.584332ms request_id=00c98ee5-fd3b-43b0-b2f1-3329935c fe7a status=200 DEBUG: [Jan 2 18:01:05.365] sending internal activity events to P anel cron=activity subsystem=cron DEBUG: [Jan 2 18:01:05.365] sending sftp events to Panel cron=sft p subsystem=cron DEBUG: [Jan 2 18:01:11.587] GET /api/system client_ip=179.108.11. 82 latency=18.871797ms request_id=17933ea8-8bb9-40f1-8bfd-1ed796a2 a194 status=200 DEBUG: [Jan 2 18:01:22.587] GET /api/system client_ip=179.108.11.82 latency=14.759103ms request_id=e0c93980-90fe-4772-b7fa-27c0dcd98449 status=200 ERROR: [Jan 2 18:01:25.309] sftp: failed to accept inbound connection error=EOF

Stacktrace: EOF github.com/pterodactyl/wings/sftp.(SFTPServer).AcceptInbound github.com/pterodactyl/wings/sftp/server.go:108 github.com/pterodactyl/wings/sftp.(SFTPServer).Run.func3 github.com/pterodactyl/wings/sftp/server.go:94 runtime.goexit runtime/asm_amd64.s:1571

ERROR: [Jan 2 18:01:28.505] sftp: failed to accept inbound connection error=EOF

Stacktrace: EOF github.com/pterodactyl/wings/sftp.(SFTPServer).AcceptInbound github.com/pterodactyl/wings/sftp/server.go:108 github.com/pterodactyl/wings/sftp.(SFTPServer).Run.func3 github.com/pterodactyl/wings/sftp/server.go:94 runtime.goexit runtime/asm_amd64.s:1571

Comments: The pterodactyl panel is with cloudflare proxy enabled, ssl full; The server is received at the origin because there is traffic between the 2 servers. But fails in the end.

matthewpi commented 1 year ago

Try running php artisan route:clear. It seems your Panel isn't registering the POST routes for the transfer status endpoints (https://github.com/pterodactyl/panel/blob/1.0-develop/routes/api-remote.php#L20-L21).

OneHitX commented 1 year ago

Try running php artisan route:clear. It seems your Panel isn't registering the POST routes for the transfer status endpoints (https://github.com/pterodactyl/panel/blob/1.0-develop/routes/api-remote.php#L20-L21).

Everything seems to work fine now, however the transfer failure rate is in the 50% range for servers with more than 20gb of storage.