Alert when internet connection lost while playing on line

This is probably a multi-pronged thing.
I know you guys added a ‘keep alive’ system so that those random, but often, internet connection dropouts were eliminated/minimized. Tonight, I have lost connection once and so has another player. But, there was no warning that this happened. What is needed is a audible and popup window advising the player that their internet connection has been lost.
Is that a function for Vassal to do, or is there a way the module developer can do it?
As an aside, why cannot Vassal server handle VPN connections?

We’ll be sure to have a notification in V4. For V3, if someone submits a patch, I’ll review it.

It could be done by Vassal, or it could be done from some custom code in a module. It would make more sense to do it from Vassal, though, as it would be useful for all modules, not just one.

What evidence do you have that it can’t?

1 Like

Every time I have VPN running I lose internet connection to the Vassal server. Within a minute. And I mean every time. Turn off VPN all is good.

Have you tried using a different VPN? the same VPN from a different internet connection? either of those from a different machine?

Way back in 2021 I was at a holiday resort. VPN was enabled and I kept dropping out. Disabling the VPN solved the problem. Last week (Tuesday night) same thing. Disable VPN, all good.
I use Bitdefender VPN. I do not always enable VPN (although perhaps I should).
Re the problem is 2021, I posted to this forum. I also posted that disabling the VPN ‘solved’ the issue.
In 2021 I used a different PC, obviously a different location and ISP.
Stop trying to blame shift. The issue is with Vassal, not what PC, location, ISP or VPN I use. Vacillate all you want, but that is not going to resolve an issue that you, obviously, thought was not happening.
Please excuse my vehemence here, but I have grown extremely weary of inane response to PC issues. “have you cleared the cache”, “have you rebooted”, “have you done this totally irrelevant thing”. These are the tactics of many services to dissuade complaints. I have vented my spleen on quite a number of them. You guys I thought are way above that sort of tripe.
Spleen vented. Logical discourse to follow.

A bit more about me. I’m 78 years old. I used a TRS 80 equivalent for my 1st PC. I made 8088 machine code programs. My boys sat on my lap when we used PCs (IBM back then). A MB of RAM cost over $200. A HDD was 10MB and cost a fortune. 640k RAM was usofts limit, as in who would need more than that. While I cannot ever compete with you chaps I am not a numpty. An engineer by qualification, electronics. I still dabble in that field.
When I am joking or tongue in cheek, that will be obvious. When I am serious, that will also be obvious.
What state am I in now? SERIOUS.

The reference to an earlier problem is obviously before the change to the new server. (just looked)

And all of this nicely distracts from the initial issue. Getting a warning audible and visual popup when the Vassal internet connection is lost. Simply “For V3, if someone submits a patch, I’ll review it” is not adequate. Vassal needs to have this. It is not optional, nor dependent on someone doing it. A player may be offline and perform a number of actions which are not recorded for others to see. A total waste of effort and time that can be easily circumnavigated by a warning.

Ok. Make a proposal for getting this done. What’s the work that needs doing—how would we detect the condition?—and who will do it? Note that the amount of development time I have left for V3 is nearly zero. I’m only trying to establish the situation for anyone who would do this, if anyone does.

Is there anything in the errorLog indicating that you’ve lost your connection when you have?

How the F am I able to make a proposal for this to happen? You, and your compatriots, are the experts for the Vassal Engine. I am a total numpty and cannot offer anything to the solution.
Condition - playing a Vassal Module on line. Internet connection dropped. Please raise a flag that says - "Your connection to the Vassal Server has been disconnected. Accompany that with a ‘chime’ that provides an audible indication.
A thought re this, can the ‘Alert()’ function do this? As in, an ‘alert’ is triggered by the loss of the Vassal internet connection, a GP - DP - GKC or whatever. But then one would need to determine when the current status of the Vassal Server for a player has changed (from connected to disconnected).

Obviously we can display a dialog or something if we know the connection has dropped. What I am asking is: How could we know?

Help us help you by answering this question.

This it - 2022-05-11 04:40:22,996 [5060-main] INFO VASSAL.launch.StartUp - Starting
2022-05-11 04:40:22,996 [5060-main] INFO VASSAL.launch.StartUp - OS Windows 11 10.0 amd64
2022-05-11 04:40:22,996 [5060-main] INFO VASSAL.launch.StartUp - Java version 17.0.2
2022-05-11 04:40:22,996 [5060-main] INFO VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.6\jre
2022-05-11 04:40:22,996 [5060-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.6
2022-05-11 04:40:23,090 [5060-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
Not much help there. I think the error log resets each day. Again, buggered if I know.

As for the question “how could we know?” How do I know?

The server side app, for the want of any other name, must have (at least) 2 states - internet connection to Vassal server active - and - internet connection to Vassal server not active. Does the server side app have a property that something can ‘monitor’ to issue an ‘Alert’ when it changes state?

Asking me to help you with something I have no idea about, much less what Vassal may be capable of, is, to put it simply, ridiculous.

Back to basics. Can the Alert() thing do this or not? If so, HOW? That damned server status pop-up must give some property that changes when a connection to the Vassal server is made or lost.

A relevant errorLog would be one from a run where you’ve had the problem.

The game server only passes messages between clients, nothing more. It has no way of distinguishing accidental disconnections from intentional ones.

Apologies for my terse comments. It was 5am in Australia.
Accept your latest. But, who cares about distinguishing from accidental from intentional disconnections.
How about just a popup that states ‘you have connected to the vassal server’ - when that event happens. Then another that states ‘your are not connected to the vassal server’.
Back to prior. Is there a ‘vassal server connection status’ global property that Alert() can use to do this? The Alert() should be able to trigger when the vassal server connection changes - from on to off and vice versa. To me, a non expert on the intricacies of Vassal, this should be relatively straight forward. If there is currently no GP associated with the Vassal Server connection popup, why not do so.

I’d just like to make a comment on this thread as a whole.

I hope that everyone recognizes that there are basically three people who build and maintain the Vassal engine. They are all volunteers. They are also in the midst of a scratch re-architecting and re-writing of the entire code-base in order to correct many problems that are intractable with the current code-base. This is all done out of personal passion for Vassal and the community. This is an Open Source project and we are all participants in it. We are not customers who have paid large sums and been promised specific features.

If I were co-located with any of these guys (the primary devs) I would be volunteering to wash their cars and polish their shoes on the weekend…and maybe the occasional back massage…to keep them happy and productive with their development of Vassal. As it is, I am limited to a $ donation now and then.

The point is, I want to help spread awareness of the yeoman’s work that the devs are doing and help spread my appreciation of it to others.

Sorry for the interruption.

2 Likes

Yep, know that fact and greatly appreciate their efforts. My hackles were raised by uckelman’s responses. There is nothing I can ever contribute to the development of Vassal (apart from the next time I get disconnected, with VPN off, I will post the pertinent error log text). I have also made the occasional donation to their cause.
But here is my commitment to the Vassal developers. Once per annum, I cede 10,000 Wyndham Vacation Resorts credits for their use. That’s equivalent to around $AU30,000 at current purchase levels. Obviously the value is somewhat less than this annualized, but it is still around $600+ per annum.
All the Vassal guys need to do is:

  1. determine who is the beneficiary this year
  2. Let me know where and when
  3. I’ll make the booking and forward the confirmation details
  4. They will still need to pay to get there and back, plus all other costs while there.
    I provide the holiday resort accommodation. That’s it.
    Caveat. ONLY the Vassal programmers are included. Not their mates, etc, ad nauseum. Break this and the whole deal is OFF.
    As an aside for Brent only. My oldest is the senior programmer/website developer for luxury escapes. While I cannot promise anything, he can get further discounts for immediate family. There is the potential, remote I admit, that I can do something just for you. Do not hold your breath though. You may need to travel as me (hahahaha).

Good show…I hope they take you up on it.

Also, unnoticed disconnection can ruin some games…particularly those with hidden movement. I’ve seen it result in both players moving ( and talking on discord ) never realizing that their hidden movement can never result in discovering the enemy.

One type of VPN that I have seen break connection routinely is one that hops IP addresses during the connection. TCP sessions won’t persist with this mechanism turned on. It may be that your VPN uses this feature. But, it is definitely the case that this will break the connection.

Sadly, upon mentioning the offer to ‘she who must be obeyed’ (the Wife), she was not happy and vetoed the offer. I guess I’ll have to revert to the occasional cash donation to the Vassal cause.

I would go with HaraldFair’s guess that my VPN uses the ‘hops IP addresses’. Oh well, so long as I remember to turn it off while playing on-line there is no issue.

Showing a message once you’ve detected that the connection has been lost is trivial. That’s not the problem. Detecting that the connection has been lost is what’s nontrivial.

You haven’t mentioned how you’re detecting that you’ve lost your connection (or how you’re detecting that one of your opponents has). What are you seeing?

That’s hostile to anything expecting to have a persistent TCP connection. This would also break SSH, for example.

Here is some more info on IP hopping VPNs (five years old). I would say it is pretty unusual for the reasons we’ve been discussing (fouling sessions).