Nothing cool to show you folks but I've made great headway behind the scenes in the Connections class:
I'm now able to handle multiple data-streams per connection. In the past, I could only handle the one socket. With a proxy-server, I need to handle two: One socket for the client side of the connection (Client<->OYS) and one for the server side. (OYS<->YSF)
The data is not being processed much if at all right now, I'm just sending the data onward as a proof of concept.
Very soon, I'll be doing the following:
- Get the username from the connecting client in proxy mode

- Assign Vehicle ID's when aircraft are added or removed by the Server in proxy mode

- Implement OpenYS Custom Packets Extension

- Implement OpenYS Custom Packet Handshake

- Implement OpenYS Formation Position Packet

- Implement UDP Handshake
- Implement UDP Data Sending (Faster than TCP, less bandwidth used)
If that makes sense to anyone, they should see where the project aim is for the next month or two: OpenYS Formation Client/Distance Lag fix.
After that, I would like to implement weather functions, moderation/admin controls and other desireable controls for server owners.
We're starting to transition to the point where OYS2 needs thorough stability testing and bug reporting. In particular, I want to know how the lag is on the server with one or more clients flying. I want to know the memory pattern of OYS2 and how it holds up over time; Ditto for CPU usage.
EDIT: Having issues with the formationflightdata packet - the data isn't sending correctly or converting back to the required format. I'll have to have a closer look at what I'm doing here.
EDIT2: Getting closer - the data is being read appropriately now. The problem is my logic for determining when to send formation packets, and how. It's a real head scratcher. To further complicate issues, now I've got data being sent to the wrong client/s and I need to work out what I'm doing wrong here.
EDIT3: Got it working. Mostly.
Now in theory, these two aircraft would be right on top of each other. But alas, due to the natural lag of time-delay in posting packets to the server (about 1 every 100-200ms) they are slightly offset. I'll see if I can do some math on the velocity of the aircraft and the difference in timestamps to reposition the formed aircraft more closely to where the aircraft actually is.
That might seem confusing, let me pose an analogy: Aircraft one is at position 0,0,0. It is moving at 1ms to the north. So in the next second, it should be at position 0,1,0. But we only get a flight data packet every 0.2 seconds. So by the time I get the flight data packet, at time +0.2, the aircraft is no longer at 0,0,0, but instead at 0,0.2,0. I should be placing the aicraft at 0,0.2,0 to factor the timing of delivery, however, I am not doing this right now - I am placing it at 0,0,0 at time +0.2, and by the time that makes it to the server, it's probably +0.4...
Oh yeah to put into perspective, that's the distance lag at about 500KTAS.
Now the other alternative, is to keep a register of formation flying vehicles, and everytime the server updates the position of an aircraft, it should also send an update for the formation object. I've tried that in the past and it didn't work but I also have not had this much success with OYS before in this nature. It's a very exciting time.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!