Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting up Rathole for a GMod Server (Multi-port Server) #386

Open
KICKGodz opened this issue Aug 28, 2024 · 0 comments
Open

Setting up Rathole for a GMod Server (Multi-port Server) #386

KICKGodz opened this issue Aug 28, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@KICKGodz
Copy link

Describe the bug

I am currently trying to forward my GMod server which is running Windows ARM on a Raspberry Pi to my Oracle Server so that the IP is static and public. I have opened the required ports: 27015/tcp | 27015/udp | 27005/tcp | 27005/udp. Even though I have forwarded them all, I still cant connect to the server using the public IP. I tried running an simple dev server running npx serve and a Minecraft server and it worked without problem. Not sure if I'm missing something in the config which will fix this. Thanks for all the help! I have seen some issues dealing with multi-port games already but didn't seem to work for me.

To Reproduce
Steps to reproduce the behavior:

  1. Start a multi-port game such as a gmod server
  2. Forward using the config
  3. Try to connect

Configuration
Configuration used to reproduce the behavior:
Server:

[server]
bind_addr = "0.0.0.0:2333"
heartbeat_interval = 0

[server.services.gmod1]
type = "tcp"
token = "Otter"
bind_addr = "0.0.0.0:27015"

[server.services.gmod2]
type = "tcp"
token = "Otter"
bind_addr = "0.0.0.0:27005"

[server.services.gmod3]
type = "udp"
token = "Otter"
bind_addr = "0.0.0.0:27015"

[server.services.gmod4]
type = "udp"
token = "Otter"
bind_addr = "0.0.0.0:27005"

Client:

[client]
remote_addr = "129.213.99.222:2333"

[client.services.gmod1]
type = "tcp"
token = "Otter"
local_addr = "127.0.0.1:27015"

[client.services.gmod2]
type = "tcp"
token = "Otter"
local_addr = "127.0.0.1:27005"

[client.services.gmod3]
type = "udp"
token = "Otter"
local_addr = "127.0.0.1:27015"

[client.services.gmod4]
type = "udp"
token = "Otter"
local_addr = "127.0.0.1:27005"

The dev service can be ignored since its just a simple TCP tunnel on port 3000 for testing the npx serve command.

Logs

Server:

2024-08-28T00:36:47.295816Z  INFO rathole::server: Listening at 0.0.0.0:2333
2024-08-28T00:36:47.296677Z  INFO config_watcher{path="server.toml"}: rathole::config_watcher: Start watching the config
2024-08-28T00:36:51.744201Z  INFO connection{addr=***:54282}: rathole::server: Try to handshake a control channel
2024-08-28T00:36:51.744684Z  INFO connection{addr=***:54284}: rathole::server: Try to handshake a control channel
2024-08-28T00:36:51.745359Z  INFO connection{addr=***:54283}: rathole::server: Try to handshake a control channel
2024-08-28T00:36:51.747002Z  INFO connection{addr=***:54285}: rathole::server: Try to handshake a control channel
2024-08-28T00:36:51.749202Z  INFO connection{addr=***:54286}: rathole::server: Try to handshake a control channel
2024-08-28T00:36:51.795946Z  INFO connection{addr=***:54282}: rathole::server: Control channel established service=gmod2
2024-08-28T00:36:51.796577Z  INFO connection{addr=***:54282}:handle{service=gmod2}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:27005
2024-08-28T00:36:51.796713Z  INFO connection{addr=***:54284}: rathole::server: Control channel established service=gmod1
2024-08-28T00:36:51.796806Z  INFO connection{addr=***:54284}:handle{service=gmod1}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:27015
2024-08-28T00:36:51.796847Z  INFO connection{addr=***:54286}: rathole::server: Control channel established service=gmod4
2024-08-28T00:36:51.797285Z  INFO connection{addr=***:54285}: rathole::server: Control channel established service=gmod3
2024-08-28T00:36:51.797329Z  INFO connection{addr=***:54283}: rathole::server: Control channel established service=dev
2024-08-28T00:36:51.797403Z  INFO connection{addr=***:54283}:handle{service=dev}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:3000
2024-08-28T00:36:51.797547Z  INFO connection{addr=***:54286}:handle{service=gmod4}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:27005
2024-08-28T00:36:51.797629Z  INFO connection{addr=***:54285}:handle{service=gmod3}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:27015

Client:

2024-08-28T00:36:51.720557Z  INFO handle{service=gmod2}: rathole::client: Starting f79377aad75f38bea54993e7b191f2c4022ce1b984a266e76c4cdd97cab94b14
2024-08-28T00:36:51.721097Z  INFO handle{service=gmod1}: rathole::client: Starting b6eaf16171a6519e115957f23cc325ebcf81334eec37261f8344ace63d55ed0e
2024-08-28T00:36:51.721475Z  INFO handle{service=gmod4}: rathole::client: Starting ddec55c6f0e9ea342b7c2df3b9b9747a9bef77c3cdbb50ddfe6c24564e828c16
2024-08-28T00:36:51.721909Z  INFO handle{service=gmod3}: rathole::client: Starting 1f4f9e4499628354488c98cf93b5621502d919acc8530f097f26d9d37c17a5b4
2024-08-28T00:36:51.722164Z  INFO config_watcher{path=".\\client.toml"}: rathole::config_watcher: Start watching the config
2024-08-28T00:36:51.722445Z  INFO handle{service=dev}: rathole::client: Starting ef260e9aa3c673af240d17a2660480361a8e081d1ffeca2a5ed0e3219fc18567
2024-08-28T00:36:51.873895Z  INFO handle{service=gmod2}:run: rathole::client: Control channel established
2024-08-28T00:36:51.898447Z  INFO handle{service=dev}:run: rathole::client: Control channel established
2024-08-28T00:36:51.921560Z  INFO handle{service=gmod1}:run: rathole::client: Control channel established
2024-08-28T00:36:51.926409Z  INFO handle{service=gmod3}:run: rathole::client: Control channel established
2024-08-28T00:36:51.932690Z  INFO handle{service=gmod4}:run: rathole::client: Control channel established

Environment:

  • OS:
    • Server: Linux ARM
    • Client: Windows ARM (I built from source but it still works)
  • rathole --version output:

Server:

rathole
Build Timestamp:     2023-10-01T09:59:43.840042255Z
Build Version:       0.5.0
Commit SHA:          Some("ebb764ae53d7ffe4fcb45f83f7563bec5c74199d")
Commit Date:         Some("2023-10-01T09:55:18Z")
Commit Branch:       Some("detached HEAD")
cargo Target Triple: aarch64-unknown-linux-musl
cargo Profile:       release
cargo Features:      base64,client,embedded,hot_reload,noise,notify,server,snowstorm

Client:

rathole
Build Timestamp:     2024-08-27T23:12:32.6722414Z
Build Version:       0.5.0
Commit SHA:          Some("be14d124a22e298d12d92e56ef4fec0e51517998")
Commit Date:         Some("2024-06-06T15:04:40Z")
Commit Branch:       Some("main")
cargo Target Triple: aarch64-pc-windows-msvc
cargo Profile:       release
cargo Features:      base64,client,default,futures_core,futures_sink,hot_reload,native_tls,noise,notify,server,snowstorm,tokio_native_tls,tokio_tungstenite,tokio_util,websocket_native_tls
  • CPU architecture: Both ARM
  • rustc version:

Server: Downloaded Prebuilt Binaries
Client: rustc 1.80.1 (3f5fd8dd4 2024-08-06)

@KICKGodz KICKGodz added the bug Something isn't working label Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant