TCP connect failed

Hi, I am not an expert on this and really I am not even sure of what I am doing, I am trying to use zrok to get a minecraft server ip, I followed the steps from this video "https://www.youtube.com/watch?v=Sq43hp6n9rE&t=265s" but when I finally reached to try connect to the port 25565, I press enter and it just shows an error:

(base) PS C:\Users\user\Desktop\chi\zgrok> powershell.exe -ExecutionPolicy Bypass -File start-server.ps1
Found share with token cqwkvshipminecraft in environment -CQwkvshiP. No need to reserve...
WARNING: TCP connect to (10.0.0.17 : 25565) failed
Waiting for port 25565 to respond...

this error starts to appear on all the cmd. now it just is on "Waiting for port 25565 to respond...."
any help is welcome thanks

Hi @stefzzzz. Welcome to the community and to zrok (and OpenZiti).

That error is -- unexpected. The scripts I put up on my personal github repo, not officially affiliated with OpenZiti/zrok but I can still try to help you out. Did you modify the script at all? I see it referring to 10.0.0.17, is that the expected IP address of your minecraft server?

It looks like the scripts mostly worked. I can see you have successfully reserved a share. The script is now trying to reach out to the minecraft server at 10.0.0.17:25565. I suspect the server is not running?

You need to do the following:

  • make sure the minecraft server is running -- presumably at 10.0.0.17:25565
  • make sure the computer you're running the powershell script can get to the minecraft server
  • run that script again -- and it should work fine

If you aren't successful, the script at the end of the day is just running two basic commands for you. First it runs zrok reserve private to reserve a share. I can see that part worked as mentioned. Next it runs share reserved $RESERVED_SHARE. so in your case, the $RESERVED_SHARE is this:
image

I think your windows computer just can't get to the ip:port of the minecraft server.

Hi, thanks for the help. As I already said, I have not much idea of what I am doing, so I dont really know how to change the ip adress of the server. Also, yes, I have changed the "10.0.0.17" to "my ipv4 but It did not work, but I noticed the "10.0.0.17:25565" that you mentioned. Where should I change to that value?

Without zrok, can you connect your Minecraft client to your Minecraft server using the IP you specified?

image

I don't think that ip and port are listening for you. If you're running zrok and the Minecraft server on the same computer, just use 127.0.0.1 -- don't use 10.0.0.213. So, assuming you don't have much of an idea of what you're doing, i think using 127.0.0.1 is what you want...

Did you start with that and that didn't work? Start by making sure Minecraft (the game) can access the Minecraft server from that Windows machine. IF you can connect from Minecrat the game to the server, that's the right IP/port to put into these lines

Yes, without zrok I can connect to the minecraft server, typing "localhost" on the server ip on multiplayer. Also, I am using playit (playit.gg) because I need a ip for my friends to connect to the server, previously I used ngrok but I needed to look for other service.

I changed the ip to 127.0.0.1 as mentioned, but it showed the same error. I would like to mention that I cannot port forward, just in case it would be a problem.


I also would like to say that the server does not have an ip for default on the server.properties file, I tried without ip on there and I just tried putting "127.0.0.1" there, but it did not work.

Well then it's really strange that you can't get there with 127.0.0.1. (Port forwarding isn't an issue for you here. Using zrok you're taking that out of the equation as a problem.)

When ngrok worked what command were you running? Can you show me? I wonder if your Minecraft server is on a different port???

Can you run this powershell command as administrator? Let's try to find your java.exe (minecraft) server:

Get-Process -Name java | ForEach-Object {
    $process = $_
    Get-NetTCPConnection | Where-Object { $_.OwningProcess -eq $process.Id } | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort
}

for example when I run it, I see this:

Let's make sure you have a java process (the minecraft server) and verify the port.

THEN, let's just run the zrok commands instead of using that script since it's getting in your way....

make the share:

zrok reserve private localhost:25565 --backend-mode tcpTunnel --unique-name stefzzzfeb262024test

start sharing:

zrok share reserved stefzzzfeb262024test --headless

on a remote machine (you can't run the the zrok client and the zrok server on the same computer with default settings, you would have to change the client port) start zrok:

zrok access private stefzzzfeb262024test --bind 127.0.0.1:25565

You should then be able to connect to Minecraft. You'll probably want to remove that "test" share when you're done by running (or not and just keep using it):

zrok release stefzzzfeb262024test

I used every command and everything is fine, I get something similar to what you showed , but I have a question. I do not have other machine or computer to do this
"on a remote machine (you can't run the the zrok client and the zrok server on the same computer with default settings, you would have to change the client port) start zrok:"
how can I change that setting to use the same computer to do all I need to do?

You'll have to change a port. Either you have to change the default port for minecraft or you have to change the port for the client.

The easiest for "others" would be to change the port for Minecraft.

  • open server.properties
  • change it to server-port=25566
  • remove the old share: zrok release stefzzzfeb262024test
  • create a new reserved share with the new port: zrok reserve private localhost:25566 --backend-mode tcpTunnel --unique-name stefzzzfeb262024test
  • share the new reserved share zrok share reserved stefzzzfeb262024test --headless
  • access the share using teh same command: zrok access private stefzzzfeb262024test --bind 127.0.0.1:25565

Now when NOT using zrok, you'll have to connect to 127.0.0.1:25566 but anyone remote would just connect to 127.0.0.1 (after starting zrok)

That's about all the help I can give you... Hopefully you can take it from here. Good luck! Have fun! :slight_smile:

I just have this last question and that would do it, I think.

This what I have in screen right now

I would like to ask what is the next step after this, because when I give the ip to my friend (I think it is stefzzzfeb262024test) he tries to enter the server but it does not work, he gets "Not further information".

sorry for the lot of questions again.

In the picture on the top left where the zrok share was started, you can see the proper share to provide to your friend.