Godot Version
Godot 3.5.2
Question
Hi,
I am writing to ask for help with remote debugging of applications.
I have two machines. Station A runs Windows 10 and Godot 3.5.2. Station B runs Linux Ubuntu, and I am developing an application for this platform that I would like to debug remotely.
Ideally, I would like to see the debugging output on Station A, even though the application is running on Station B.
I have tried using the parameters --debug-remote --debug-server with no success. I have deployed the application and set the IP host in the editor settings. I would appreciate a guide.
Thank you for your help.
I don’t see a --debug-server
in the 3.5.2 docs.
I think In order for this to work, you would make the A machine run the application in the editor with the remote server enabled. Then on the B machine you launch the editor with the --remote-debug IP:port
of the A machine.
If you are exporting the app, I think you may need to export the application with debug support enabled. Although I have never done this…
I’m also wondering if you need to expose a port on the windows machine to the local network.
True, the --debug-server command is not really in the documentation (3.5.2). I’ve really tried everything possible, I don’t know if I’m making a mistake somewhere, so hopefully there’s someone here who knows more about this. Thank you.
I have a a similar setup, as you described, myself for a multiplayer game I’m developing. I can try it for myself, but I don’t know when I can get to it. I’ll see if I can maybe let you know in the next 24 hours.
1 Like
I figured it out…
first: on the windows machine I made a firewall rule to allow Godot application to speak on output port 6007. On linux machines this should be open by default.
I’m not sure if you need to do this but you can test the port by starting the debug server, and then on the remote computer use command telnet <server ip> 6007
.
it should spit out some text of the running root scene if it works. if its blank you may need to open the port in the windows control panel -> firewall setting -> advance settings -> outbound rules -> new rule
now the thing that took me awhile is how does it all work…
So the debug server is going to be the machine you are physically using. this can be done by launching the godot in editor mode with this option:
-e --debug-server tcp://0.0.0.0:6007
the ip of 0.0.0.0
will allow all external connections
note
i did play with these setting in the editor… I don’t think this is necessary to config when using the command line.
now for the game session you want to debug remotely; on the other computer, the game needs to be started with this option:
--remote-debug tcp://<i.p. of server computer>:6007
I did this with 4.2.1, but I think the base commands are the same, maybe just the ip:port
part doesn’t have the tcp://
portion prefixed
There are also options for exporting debug applications, but I didn’t dive into very much. (In theory, I think you could set the debug app to connect to your remote server so you can debug it after its deployed)