jhead / phantom

Use your own Minecraft server with your Xbox or PS4 and play with friends!
MIT License
613 stars 76 forks source link

Linux 32x iSH ios terminal not working #94

Open notnotnotswipez opened 4 years ago

notnotnotswipez commented 4 years ago

Ive tried every branch of the linux arms and none of them worked. I keep getting the same error, which was, syntax error: unexpected “)”. This is a LINUX based terminal/emulator. Arm 5 is the only one with a different error, which is, unterminate quoted string. Do i need to add some libraries beforehand to get this to work? Or does this not work on 32x linux systems.

notnotnotswipez commented 4 years ago

Running it in the bash terminal gives me an unidentified exec error

jhead commented 4 years ago

Hey @strubbe06, could you try the following command to compile phantom?

GOOS=linux GOARCH=386 go build -o ./bin/phantom-linux-x86 cmd/phantom.go

Then try the phantom-linux-x86 binary.

notnotnotswipez commented 4 years ago

Says that it cant find the package cmd/phantom.go anywhere. And is it supposed to create the binary?

jhead commented 4 years ago

ah sorry, you'll need to download/clone phantom's source code, then run it from inside that directory.

I ran the command and uploaded the binary here:

phantom-linux-x86.tar.gz

tar xvf phantom-linux-x86.tar.gz to extract

notnotnotswipez commented 4 years ago

Doing that makes it actually run, but when i go to put in a server, it says “listen udp4 :19132: invalid argument” ive tried your compiled version and ive compiled it myself but both send out the same error

BadWolf22 commented 4 years ago

When setting Phantom up on iSH for iOS, I stumbled across this thread and ran into the same problems. I also tried building the binary for x86 but received the "listen udp4 :19132: invalid argument" error.

From time to time, I enjoy a good challenge so I decided to attempt my hand at debugging Phantom. I spent Sunday tracking the error's origin and tracked it to the 88th line of the Start() function in proxy.go.

I did some research and stumbled across this thread discussing an issue with reuse.ListenPacket and wildcard addresses. The thread claims to have fixed the issue, but I guess something within iSH causes the issue to reoccur.

Although I am not sure why this happens, I tested a custom build of Phantom where I replaced reuse.ListenPacket on line 88 and line 101 of proxy.go with net.ListenPacket.

With just those two simple changes, I tested again on iSH and it started up perfectly. It was tested with a console connecting to Phantom running on iOS pointing to our Java server running GeyserMC. The console connected perfectly and no issues were immediately apparent.

I have uploaded the custom build to my JavaRock repository or you can create the build yourself by making those two changes and building using the command jhead posted.

humblespace commented 4 years ago

When setting Phantom up on iSH for iOS, I stumbled across this thread and ran into the same problems. I also tried building the binary for x86 but received the "listen udp4 :19132: invalid argument" error.

From time to time, I enjoy a good challenge so I decided to attempt my hand at debugging Phantom. I spent Sunday tracking the error's origin and tracked it to the 88th line of the Start() function in proxy.go.

I did some research and stumbled across this thread discussing an issue with reuse.ListenPacket and wildcard addresses. The thread claims to have fixed the issue, but I guess something within iSH causes the issue to reoccur.

Although I am not sure why this happens, I tested a custom build of Phantom where I replaced reuse.ListenPacket on line 88 and line 101 of proxy.go with net.ListenPacket.

With just those two simple changes, I tested again on iSH and it started up perfectly. It was tested with a console connecting to Phantom running on iOS pointing to our Java server running GeyserMC. The console connected perfectly and no issues were immediately apparent.

I have uploaded the custom build to my JavaRock repository or you can create the build yourself by making those two changes and building using the command jhead posted.

I tried using your build and Im always stuck on “Listener starting up”. Anyway I can fix this problem?

BadWolf22 commented 4 years ago

When setting Phantom up on iSH for iOS, I stumbled across this thread and ran into the same problems. I also tried building the binary for x86 but received the "listen udp4 :19132: invalid argument" error. From time to time, I enjoy a good challenge so I decided to attempt my hand at debugging Phantom. I spent Sunday tracking the error's origin and tracked it to the 88th line of the Start() function in proxy.go. I did some research and stumbled across this thread discussing an issue with reuse.ListenPacket and wildcard addresses. The thread claims to have fixed the issue, but I guess something within iSH causes the issue to reoccur. Although I am not sure why this happens, I tested a custom build of Phantom where I replaced reuse.ListenPacket on line 88 and line 101 of proxy.go with net.ListenPacket. With just those two simple changes, I tested again on iSH and it started up perfectly. It was tested with a console connecting to Phantom running on iOS pointing to our Java server running GeyserMC. The console connected perfectly and no issues were immediately apparent. I have uploaded the custom build to my JavaRock repository or you can create the build yourself by making those two changes and building using the command jhead posted.

I tried using your build and Im always stuck on “Listener starting up”. Anyway I can fix this problem?

@humblespace, it seems misleading, but this acutally is the final line, there is no feedback after this until Phantom pings a console. At this point all you have to do is log onto your console (connected to the same network) and you should be able to see the lan network inside of Minecraft. At this point you will see more information inside of iSH about connected devices.

I hope this answered your question, have fun!

humblespace commented 4 years ago

When setting Phantom up on iSH for iOS, I stumbled across this thread and ran into the same problems. I also tried building the binary for x86 but received the "listen udp4 :19132: invalid argument" error. From time to time, I enjoy a good challenge so I decided to attempt my hand at debugging Phantom. I spent Sunday tracking the error's origin and tracked it to the 88th line of the Start() function in proxy.go. I did some research and stumbled across this thread discussing an issue with reuse.ListenPacket and wildcard addresses. The thread claims to have fixed the issue, but I guess something within iSH causes the issue to reoccur. Although I am not sure why this happens, I tested a custom build of Phantom where I replaced reuse.ListenPacket on line 88 and line 101 of proxy.go with net.ListenPacket. With just those two simple changes, I tested again on iSH and it started up perfectly. It was tested with a console connecting to Phantom running on iOS pointing to our Java server running GeyserMC. The console connected perfectly and no issues were immediately apparent. I have uploaded the custom build to my JavaRock repository or you can create the build yourself by making those two changes and building using the command jhead posted.

I tried using your build and Im always stuck on “Listener starting up”. Anyway I can fix this problem?

@humblespace, it seems misleading, but this acutally is the final line, there is no feedback after this until Phantom pings a console. At this point all you have to do is log onto your console (connected to the same network) and you should be able to see the lan network inside of Minecraft. At this point you will see more information inside of iSH about connected devices.

I hope this answered your question, have fun!

So do I just wait? I had it open for a few minutes like 2 hours ago with mc on but nothing happened. It stayed on “Listener starting up” for minutes and nothing happened.

BadWolf22 commented 4 years ago

So do I just wait? I had it open for a few minutes like 2 hours ago with mc on but nothing happened. It stayed on “Listener starting up” for minutes and nothing happened.

Hmm, it should have shown up as a lan server in Minecraft. What is your setup like? (What type of console are you using [note that Phantom is currently incompatible with Nintendo Switch], is your iPhone connected to the same network as your console [there might be possible issues when using a hotspot with your console], is your server ip address correct, is the server currently active, etc.)

If you happen to have Minecraft Pocket Edition, I would recommend pulling it up and navigating to the friends tab after you start Phantom.

Hopefully we can get this sorted out!

humblespace commented 4 years ago

So do I just wait? I had it open for a few minutes like 2 hours ago with mc on but nothing happened. It stayed on “Listener starting up” for minutes and nothing happened.

Hmm, it should have shown up as a lan server in Minecraft. What is your setup like? (What type of console are you using [note that Phantom is currently incompatible with Nintendo Switch], is your iPhone connected to the same network as your console [there might be possible issues when using a hotspot with your console], is your server ip address correct, is the server currently active, etc.)

If you happen to have Minecraft Pocket Edition, I would recommend pulling it up and navigating to the friends tab after you start Phantom.

Hopefully we can get this sorted out!

I play on ps4 and my iphone and ps4 are connected to the same wifi. Idk why it isnt working.

BadWolf22 commented 4 years ago

I play on ps4 and my iphone and ps4 are connected to the same wifi. Idk why it isnt working.

Hmm, you're right. That is weird. I would suggest turning off both devices to start off with. Then turn your iPhone on and begin Phantom. Once it stops at the "Listener starting up" part, turn on your ps4 and open Minecraft. If it still doesn't show up, I would probably try checking the connected networks on both devices to make sure they are on the exact same network. Sometimes routers have 2 networks and one might be on a different but similarly named one.

imnotjack91 commented 4 years ago

The dual networks on the same router would only effect the setup if they were manually isolated (not default behavior, this would have to specified in the router settings) or if one of the devices is connected to a "guest" network.

I have found logging out of minecraft and re-signing into minecraft on the console has fixed a similar issue for me(though I play on Xbox) (restarting the console and or the game is not enough)

Another thing I would suggest looking at is firewalls on the router. Make sure the specified port is not blocked and likewise the specified port isn't being used by something else or routed elsewhere. (this one is unlikely but one more thing to check if relogging into minecraft doesn't work.)