SakeTami
clickteam_phi
clickteam_phi

patreon


Nov 2023 update - exts improved

Heyo folks,

I was holding out for something completed, but it's mostly just progress. Over the last few months, progress has been made in finalising Bluewing's stability, and adding new updates to RTSP object and Web Query Object, and some experimentation has begin with the SDK.

Bluewing objects

Right now, the native, non-Fusion Bluewing servers run consistently for months with no downtime reported; the only time they go down is when I'm doing OS updates or refreshing the SSL certificate the server uses for HTML5/UWP clients.

So far, I am aware of some bugs with the Fusion objects:

Both of these have fixes I am trying out thanks to Dobermann.

RTSP Object

I have worked on an update that lets you access the current image of a camera. This allows you to modify the images before displaying them:

This uses CodeProject AI with Web Query Object and JSON object.

Or this RTSP image access lets you copy the image to somewhere else, for example saving to file or sending over Bluewing:

This uses Bluewing HTML5 and Surface for HTML5 - which I had to do a couple fixes on.

Web Query Object

This was updated to allow multi-part queries (file uploads, like in <form> tags). In addition, RAM can now be used for uploading files, meaning you don't have to save to file and then load it back.

An astute reader will notice the connection with the above GIFs.

This version is in beta, but anyone at $10+ tier is eligible to request it.

DarkEdif SDK

The DarkEdif SDK has been updated to with some experiments, to allow object selection and access to Fusion internals in multiple platforms. This is extremely convoluted to work with as no platform reports bugs with object selection; they just don't work properly, or just crash pointing to random memory address or unexplained variable.

As such, it's not had much success, and was moved to the back burner after some tests revealed it was not going to be a tough nut to cracked.

uPnP and peer-to-peer Bluewing

There has been several users asking about peer-to-peer support for Bluewing, which leads me to explain how peer to peer works and progress on that request.

If you're familiar with hosting a server, you'll know you have to port forward, to allow any incoming Internet connections to pass through to the server on LAN.

If you host a Bluewing server without that port forwarding, you can normally have LAN games just fine (unless your antivirus/firewalls are too aggressive), but incoming internet connections will be blocked by the router.

uPnP is a tech where a device talks to the router, the router says how its uPnP requests should be sent, then the device sends a request, and the router port-forwards temporarily... without the user having to get into the router's setup and set up the port forward themselves. This allows incoming connections, but still expects a server.

So with peer-to-peer (P2P), one side is still a server, but there is no need for a third device to act as a server, strictly speaking. In practice, online games still need a server, because the P2P client won't know what to connect to without a server that lists the available IPs of peers hosting their servers.

(It's also worth noting that incoming connections can still be blocked by your service provider. I've not even tested to see if uPnP is possible on mobile data, for example, and my ISP for my home internet blocked all incoming connections on common ports like HTTP. So expect uPnP to not work that well unless you're doing it from your own network.)

One benefit of uPnP is that either side, technically speaking, can be a server. So even if A -> B can't connect, B -> A might be able to, so P2P would still be possible. In practice, you might want to check how fast the machine runs and how good its upload speed is, before you opt to host from there. For a server, upload needs to be double the download for just three players.

I have spoken to my main business-backed client about benefits of uPnP and he's sent off a request for it, so hopefully budget is approved. Working on HTTP (potentially HTTPS) and XML, and potentially experimenting with several router models, is not a simple project. My router could be really flexible and another's router gets upset over slight deviations.

If I make uPnP, it will be in a separate extension to Blue, because it doesn't actually need to be combined. And more importantly, if I let the Fusion dev say what ports to forward, they can forward any other type of server too - like Lacewing Webserver, DarkSocket, etc - or they can port forward other programs running, like an Apache website.

Closing notes

At any rate, it's looking interesting for the next couple of months. I have also started on a Open University degree which is so far, laughably easy; as a late teen I could have done it, which I suppose is the intended age range. It was a degree or a mortgage and I already know I dislike living alone... more accurately, I can live alone fine, but I don't like being alone, or cooking for myself, etc. Plus, cost of living is already silly and won't calm down for a while, if ever.

The only way I would lose marks (and sadly, is very possible) is when there's stringent, poorly-explained requirements, or deliberately trick questions. I've not really seen the point in those in education; you're not trying to test someone's intelligence, but their knowledge in a specific field. Ambiguity and unclear requirements are a sign of poorly written requests, not a sign the reader doesn't have the knowledge to answer it if worded correctly.

Although in cases of life or death, or legal fields, I could see why you'd want to make people pay extra attention to the exact letter of what was written. I don't see that in a bachelor's for IT, and not even a security-based one, at that.

Anyway, thanks for being a patron! Community support is the main reason I've not wandered off.

Cheers,
~ Phi


More Creators