Skip to content

Random IPs on fresh toolchains #53

@Cheaterman

Description

@Cheaterman

Hi,

Somehow rebuilding the server with fresh toolchains results in random (well not quite random, more like badly ordered, looks like endianness issue...) IPs:

15:47:00 [TRACE] (1) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:00 [TRACE] (1) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:03 [TRACE] (13) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:03 [TRACE] (13) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
[connection] incoming connection: 172.17.0.1:47866 id: 0
[join] Cheaterman has joined the server (0:172.17.0.1)
OnPlayerConnect(playerid=0)
15:47:05 [TRACE] (17) server: [server/src/lib.rs:80] on_player_connect 0 172.17.0.1
15:47:05 [TRACE] (17) server: [server/src/lib.rs:83] allow_connection 0 172.17.0.1
cef_on_player_connect(playerid=0, ip='172.17.0.1'): 1
15:47:05 [TRACE] (17) server: [server/src/lib.rs:80] on_player_connect 0 172.17.0.1
15:47:05 [TRACE] (17) server: [server/src/lib.rs:83] allow_connection 0 172.17.0.1
15:47:05 [TRACE] (13) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:05 [TRACE] (13) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:08 [TRACE] (15) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:08 [TRACE] (15) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:10 [TRACE] (17) server: [server/src/lib.rs:327] notify_connect(0, false)
OnCefInitialize(playerid=0, success=0)
cef_player_has_plugin(playerid=0): 0
15:47:10 [TRACE] (17) server: [server/src/lib.rs:318] notify_timeout::remove_from_await_list(0) true
15:47:10 [TRACE] (13) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:10 [TRACE] (13) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:13 [TRACE] (15) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:13 [TRACE] (15) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:15 [TRACE] (15) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:15 [TRACE] (15) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:18 [TRACE] (17) server: [server/src/lib.rs:100] remove_connection 0 
[part] Cheaterman has left the server (0:1)
15:47:18 [TRACE] (1) network: [network/src/lib.rs:214] accept_connections: Connect from 2.0.209.200:4524
15:47:18 [TRACE] (1) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 2.0.209.200:4524
15:47:20 [TRACE] (1) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:23 [TRACE] (1) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:25 [TRACE] (1) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:28 [TRACE] (13) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:28 [TRACE] (1) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:28 [TRACE] (15) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:30 [TRACE] (1) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut
15:47:30 [TRACE] (15) network: [network/src/lib.rs:237] ERROR while connecting: TimedOut

Meanwhile rebuilding with 1.63.0 toolchain using the command cargo +1.63.0-i686 build --release --package server works:

16:08:09 [TRACE] (1) network: [network/src/lib.rs:214] accept_connections: Connect from 172.17.0.1:36463
16:08:09 [TRACE] (1) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 172.17.0.1:36463
16:08:09 [TRACE] (18) server::server: [server/src/server.rs:189] handle_new_connection PeerId(1v1) 172.17.0.1:36463
16:08:09 [TRACE] (18) server::server: [server/src/server.rs:88] socket::disconnect PeerId(1v1)
16:08:09 [TRACE] (18) server::server: [server/src/server.rs:180] handle_timeout PeerId(1v1)
16:08:09 [TRACE] (18) server::server: [server/src/server.rs:183] {}
16:08:09 [TRACE] (18) server::server: [server/src/server.rs:184] {}
16:08:12 [TRACE] (11) network: [network/src/lib.rs:214] accept_connections: Connect from 172.17.0.1:36463
16:08:12 [TRACE] (11) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 172.17.0.1:36463
16:08:12 [TRACE] (18) server::server: [server/src/server.rs:189] handle_new_connection PeerId(1v3) 172.17.0.1:36463
16:08:12 [TRACE] (18) server::server: [server/src/server.rs:88] socket::disconnect PeerId(1v3)
16:08:12 [TRACE] (18) server::server: [server/src/server.rs:180] handle_timeout PeerId(1v3)
16:08:12 [TRACE] (18) server::server: [server/src/server.rs:183] {}
16:08:12 [TRACE] (18) server::server: [server/src/server.rs:184] {}
[connection] incoming connection: 172.17.0.1:50020 id: 0
[join] Cheaterman has joined the server (0:172.17.0.1)
OnPlayerConnect(playerid=0)
16:08:13 [TRACE] (17) server: [server/src/lib.rs:80] on_player_connect 0 172.17.0.1
16:08:13 [TRACE] (17) server: [server/src/lib.rs:83] allow_connection 0 172.17.0.1
cef_on_player_connect(playerid=0, ip='172.17.0.1'): 1
16:08:14 [TRACE] (1) network: [network/src/lib.rs:214] accept_connections: Connect from 172.17.0.1:36463
16:08:14 [TRACE] (1) network: [network/src/lib.rs:224] process_connection: Connect from Some(172.17.0.2) to 172.17.0.1:36463
16:08:14 [TRACE] (18) server::server: [server/src/server.rs:189] handle_new_connection PeerId(1v5) 172.17.0.1:36463
16:08:14 [TRACE] (18) server::server: [server/src/server.rs:194] handle_new_connection: ok 0
16:08:14 [TRACE] (18) server::server: [server/src/server.rs:197] handle_new_connection: ok no peer with this id
16:08:14 [TRACE] (17) server: [server/src/lib.rs:388] process_tick::PlayerConnected(0)
16:08:14 [TRACE] (17) server: [server/src/lib.rs:327] notify_connect(0, true)
OnCefInitialize(playerid=0, success=1)
cef_create_browser(playerid=0, browserid=1, url='https://tms-server.com/'): 1
16:08:15 [TRACE] (17) server: [server/src/lib.rs:400] process_tick::BrowserCreated(0)
16:08:15 [TRACE] (17) server: [server/src/lib.rs:336] notify_browser_created(0, 1, 200)
[part] Cheaterman has left the server (0:1)

I looked into tokio and quinn, in fact I tried to update quinn but they have breaking changes in the way they build (or no longer build rather) endpoints, so I didn't push it too much... I really expected the issue to be on the client side hahaha, since I'm cross-building DLLs from Linux etc, but that part actually works, and it turns out it's the pure Linux server that's faulty... 🤦‍♂️

Either way, putting this out there for posterity. Hopefully we're not stuck on old toolchains forever, but right now, I don't see any other workaround...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions