View Full Version : Network connectivity, SocketRelay
tbulford
March 29th, 2020, 08:27
Hi Guys,
I am pretty new to fantasy grounds but discovered the need for an externally available ip and port to be a pain on my network configurations. I searched for a while and could not find an easy solution to this so I decided to build one. The tool allows me to use a server to bridge that issue pretty easily. Just launching a small client application on my machines and the players machines.
I have made it open source so anyone else that has a similar issue please feel free to use it. I only have a server in Cape Town for now but more can be added easily.
Also if you willing to host a server that would be great.
The project has been released here https://github.com/Celestial-Games/SocketRelay
I only started it yesterday so there may be some bugs and ease of use stuff.
Best Regards
Travis Bulford
damned
March 29th, 2020, 12:07
Hey tbulford
Thanks for the test!
tbulford
March 29th, 2020, 12:37
Thank you it was informative I have come up with a solution I hope put your abuse concerns to rest. It will take a bit more time to develop as it require a database and email integrations etc.
tbulford
March 30th, 2020, 14:37
Hello,
I released a new version this morning. I have made some communications changes so for anyone using the tool you will need the new client version. These changes were to assist knowing the difference between clients and connections as they were bundled into one and a 5 connections from one client registered as 5 clients. Not a big deal but was something I wanted to improve.
I will be making changes rapidly to the tool for a while as I settle on the first set of features.
damned
March 30th, 2020, 15:09
I wont get to test again for about 20 hours
tbulford
March 30th, 2020, 15:46
Cool, let me know if you have any issues, I may be sleeping around then :D
tbulford
April 2nd, 2020, 09:55
Posted this early proper notice below. :)
tbulford
April 2nd, 2020, 10:01
I have been using this with players here locally and from Netherlands with a good level of success.
Released a new version today. Includes a windows installer and raw zip for those on non Windows 64 environment.
Significant Changes.
Aesthetic changes (New look and feel) 32967.
Limited the number of logs recorded into the log panel to prevent unnecessary memory use.
Added a bandwidth monitor, this helps when players are downloading initially also it just looks cool.
Regards
Travis
damned
April 2nd, 2020, 10:11
Great stuff tbulford Ill do some more testing soon and runup a VPS to add to the pool.
tbulford
April 2nd, 2020, 15:17
Added there new end network points.
Switzerland
USA-East Coast
Australia
:) wont be monitoring them right now so please if one stops communicating let me know.
tbulford
April 3rd, 2020, 16:19
Release Candidate 2 released
Changes
Some extra information on the bandwidth graph.
Better feedback while connecting making it easier to fix networking and connection errors.
*BUG* Socket not unbinding when server does not accept connection.
*BUG* Labels after connection fixed.
tbulford
April 5th, 2020, 13:29
So this weekend I ran my first campaign over Socket Relay. This highlighted a few issues that need to be resolved to make the system work better.
Connections don't accurate fail across all 4 sockets when some of the failure conditions trigger. If any link in the chain breaks the whole chain should fail as it would normally had the connection been direct.
When we reconnect we are always assigned a new port. It would be good if on connection the host could get the same port this would make reconnecting for the players much less of a hassle because there software could just continue.
Retrying connection as the host or player makes more sense the abandoning it when it fails. This should become the new behavior. Some care regarding how we communicate this with players so they understand the status but are not forced to interact.
We only had a few drops that forced a reconnect and sadly when it happened we had to restart Fantasy Grounds. This especially need to be sorted so playing can be smooth.
tbulford
April 6th, 2020, 18:23
New RC3 released.
Changes
Host reconnects to server if there is a DC.
Added event notifications to the bottom bar for Server and Client connections and disconnection.
Server now tries to allocate the same port to each host. This means reconnects don't require the clients reset there port number.
*BUG* Fixed bug in bandwidth graph max was not accumulative for all incoming clients.
More testing will happen this weekend to see if these changes make for a smoother experience.
damned
April 7th, 2020, 01:18
Good progress - Im watching this with interest tbulford
tbulford
April 7th, 2020, 07:57
Thanks @damned I started adding UDP support last night. Client nearly done need to make some changes to the server next and will then test with Fantasy Grounds Unity.
tbulford
April 19th, 2020, 07:19
Version 1.0.0
Feedback on the current version of 1.0.0
So after playing several games and getting feedback from a few friends using the tool too I have decided to revamp how the system works. I will be bringing the need to have an account earlier into the solution since we really do need to have a better way to identify games and players.
This will change the system to always needing the SR client on the players machines. But it will mean we can host more then one game from behind a NAT address as currently we use the internet facing IP address to identify the user. It will also mean we can identify two or more players connecting from behind a NAT address. Of course it will add the need to register an account to play. I am going to use PlayFab for the accounts as it's pretty straight forward and low effort.
Since UDP is nearly done I will be finishing that along with the code. So I see RC3 as version 1.0.0 and I am starting on 1.1.0 now.
Regards
Travis
Powered by vBulletin® Version 4.2.1 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.