Thank you very much for everything it's nice phi update

Lacewing, Bluewing, and servers
Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
-
-
You're welcome [MENTION=13757]CapitaineCaverne[/MENTION]! Support Please login to see this link. if you're able.
Bluewing Client updated to Please login to see this link..
b88: Updated DarkEdif SDK to v2 (better update notifs/fixed editor display).
b89: Added event numbers to error messages. Fixed crash on error, introduced in b87. Updated DarkEdif SDK to v4.
b90: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b91: Fixed occasional lock timeout and Msg Box Death popup when a connected Client running in multithreaded was quit. DarkEdif SDK now v6.Bluewing Server updated to Please login to see this link..
b21: Fixed event numbers in error messages in Fusion 2.0. Fixed crash on error, introduced in b19. Updated DarkEdif SDK to v4.
b22: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b23: Close made somewhat safer, by adding the lock protection around handlers reset in close, akin to b91 Client update. Chance of it being more stable when closing. DarkEdif SDK now v6.Both extensions have an update detector! This detector has more details and you can change settings following the instructions Please login to see this link..
These update checks run once on Fusion start, and the update notification will happen once an object is loaded or created in frame.For support, tips and bug reports, contact me on Please login to see this link..
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link..[/QUOTE] -
Bluewing Client updated to Please login to see this link..
b90: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b91: Fixed occasional lock timeout and Msg Box Death popup when a connected Client running in multithreaded was quit. DarkEdif SDK now v6.
b92: Fixed app going Not Responding related to peer events. Fixed long delay after app quit before app closed in some scenarios.Bluewing Server updated to Please login to see this link..
b21: Fixed event numbers in error messages in Fusion 2.0. Fixed crash on error, introduced in b19. Updated DarkEdif SDK to v4.
b22: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b23: Close made somewhat safer, by adding the lock protection around handlers reset in close, akin to b91 Client update. Chance of it being more stable when closing. DarkEdif SDK now v6.
b24: Fixed crash creating a channel with no master.Both extensions have an update detector! This detector has more details and you can change settings following the instructions Please login to see this link..
These update checks run once on Fusion start, and the update notification will happen once an object is loaded or created in frame.For support, tips and bug reports, contact me on Please login to see this link..
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link.. -
Bluewing Client updated to Please login to see this link..
b90: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b91: Fixed closing for multithreaded client which was still connected, causing a slow shutdown and an emergency popup. Updated DarkEdif SDK to v6.
b92: Fixed Not Responding related to peer connections/disconnections in multithreaded mode. Fixed long wait during application quit before the app closed (max 3 seconds).
b93: Final ANSI build! Very minor performance enhancement with named loops.Bluewing Server updated to Please login to see this link..
b22: Fixes float expressions' return values when a sub-expression is called on the same object in the same expression evaluation. Updated DarkEdif SDK to v5.
b23: Fixed write lock around handler reset/unhost ops in cleanup. This may not have been a problem, it just echoes Client's b91 fix. Updated DarkEdif SDK to v6.
b24: Fixed crash when a channel was created without a master.
b25: Final ANSI build! Allows servers to know if client was kicked due to corrupt messages. Added write lock around setting welcome message.Both extensions have an update detector! This detector has more details and you can change settings following the instructions Please login to see this link..
These update checks run once on Fusion start, and the update notification will happen once an object is loaded or created in frame.For support, tips and bug reports, contact me on Please login to see this link..
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link.. -
just started using bluewing in a new project and wish I had checked it out sooner! thanks Phi.
-
@Please login to see this link. thank you for your hard work with Bluewing!
Do you have any idea of the capabilities of Lacewing Blue Server?
-
Phi thank you for your hard work with Bluewing!
Thank you! Sponsor Please login to see this link. if you're able!Do you have any idea of the capabilities of Lacewing Blue Server?
Software wise, the protocol is capped to 65535 players and channels.
Message wise, as many messages as your app/server machine can process. TL;DR: Hardware speed is the cap, really. You can optimise it.For more details, this is where it gets a little complicated.
In multi-threaded mode, a second thread is ran on C++ side, called the Lacewing processing thread.
The Lacewing processing thread auto-handles most of the messages it gets by default, without waiting for Fusion's event thread; for example, peer -> channel messages are received and sent on without pause. This is why there are auto-approve/auto-deny choices under Blue Server > Enable/disable conditions; that way if someone requests to set their name, it can be replied to with yes or a deny reason instantly by the C++ side.If the Lacewing processing thread ever needs to talk to Fusion - e.g. see if events deny a name set - then the Lacewing processing thread locks the pending event queue and adds a new event to the queue, then unlocks.
Every frame tick (every FPS), the Fusion app locks the queue and triggers the first event, and if set to "wait for Fusion", replies to the client after the event processing finishes. It repeats this to remove X events from queue (currently X=10, but Please login to see this link.).
In single-threaded mode, the same Lacewing event handling happens, but instead the usual Lacewing processing happens in Fusion's thread every FPS, including the C++ auto-responses. So auto-approve/auto-deny is still faster as Fusion events aren't being triggered and processed, but stuff Fusion has nothing to do with, like processing pings, are also part of the processing on Fusion thread, so it will cause more slowdown for the app.
The server will create an error if you exceed X pending events repeatedly and the server is falling behind.I've done some performance test on an older, slower version, Please login to see this link..
As far as stability, my Windows Please login to see this link. has stayed up for months on end.
Here's Please login to see this link. I took yesterday. It's serving 90 clients at the moment, 5k messages in/4k out, per second, and using 1.7% CPU. Most of that slowdown is from just displaying stats and messages on the console window.As far as Client, I accidentally left a client connected 24 hours ago, and it's still connected. Most of the reason people are getting disconnected in new apps, is they're using single-threaded mode client and switch away from their app, so Fusion thread ticking pauses, so Lacewing Client processing pauses, so the server pings the client which doesn't process the ping, then server kicks them. You turn on "run while minimized/resizing" in app properties to keep Fusion thread ticking active when app is not in focus.
-
Thank you for all those valuable information, Phi!
So can I make my own server using the Lacewing Blue Server in order to serve a small game with ~1000 players? I don't know nothing about C++, so using the LBS object sounds a good option to me
or is a better idea setup a server in some VPS?
Is there any .mfa with a basic server to be used as example?
-
Bluewing Client updated to Please login to see this link..
b92: Fixed Not Responding related to peer connections/disconnections in multithreaded mode. Fixed long wait during application quit before the app closed (max 3 seconds).
b93:Final ANSI build!Very minor performance enhancement with named loops.
b94: Final ANSI build! Fixed a bug with peer name changing condition not triggering.Both extensions have an update detector! This detector has more details and you can change settings following the instructions Please login to see this link..
These update checks run once on Fusion start, and the update notification will happen once an object is loaded or created in frame.For support, tips and bug reports, contact me on Please login to see this link..
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link.. -
So can I make my own server using the Lacewing Blue Server in order to serve a small game with ~1000 players? I don't know nothing about C++, so using the LBS object sounds a good option to me
or is a better idea setup a server in some VPS?
LBS will suffice, but Fusion runtime around it will add some overhead. The more the Fusion app listens to/interacts with the LBS, the slower it will run, as I described in my last post. Multithreading will also increase speed. You can exclude Fusion's overhead entirely if you use the Please login to see this link..
For tips on speed, and how to set up so it's internet-accessible, see the Please login to see this link..
Outside of that, you won't really know how it fares until you try.
Since everyone subbed to this thread will be messaged, it's better if you ask for support and capability questions on Please login to see this link.. -
Hey folks,
Good news! Lacewing Blue Unicode is now in pre-release testing, and Darkwire Server 1 now uses Unicode message format. Unicode Blue Server is backwards-compatible to some degree with the non-Unicode Lacewing Relay and older Blue, so it's still publicly usable.
If you want to use Blue Unicode, you can join Please login to see this link. for early access. You will also get early access to the Lacewing Blue Android ports coming out within the next few months.There is also a huge Lacewing help file revamp, including examples, tips, security notes, binary message notes, known Relay bugs, and a ton more information, like subtleties of selection, hosting a server, how loops and selection works, how to debug, etc.
This help file is based off LB's help file, including details about all five Lacewing extensions, including Relay, Blue and Lacewing Webserver, but heavily expanded for all five.
You can also get early access to this help file on Please login to see this link..Ask for support and capability questions on Please login to see this link..
Note the Discord invite link has changed since older posts! -
Hey folks,
Good news! Lacewing Blue Unicode is now in pre-release testing, and Darkwire Server 1 now uses Unicode message format. Unicode Blue Server is backwards-compatible to some degree with the non-Unicode Lacewing Relay and older Blue, so it's still publicly usable.
If you want to use Blue Unicode, you can join Please login to see this link. for early access. You will also get early access to the Lacewing Blue Android ports coming out within the next few months.There is also a huge Lacewing help file revamp, including examples, tips, security notes, binary message notes, known Relay bugs, and a ton more information, like subtleties of selection, hosting a server, how loops and selection works, how to debug, etc.
This help file is based off LB's help file, including details about all five Lacewing extensions, including Relay, Blue and Lacewing Webserver, but heavily expanded for all five.
You can also get early access to this help file on Please login to see this link..Ask for support and capability questions on Please login to see this link..
Note the Discord invite link has changed since older posts!Its been a while but might actually use this now if it will run on Android.
-
Hey folks,
Good news! Lacewing Blue Unicode is now in pre-release testing, and Darkwire Server 1 now uses Unicode message format. Unicode Blue Server is backwards-compatible to some degree with the non-Unicode Lacewing Relay and older Blue, so it's still publicly usable.
If you want to use Blue Unicode, you can join Please login to see this link. for early access. You will also get early access to the Lacewing Blue Android ports coming out within the next few months.There is also a huge Lacewing help file revamp, including examples, tips, security notes, binary message notes, known Relay bugs, and a ton more information, like subtleties of selection, hosting a server, how loops and selection works, how to debug, etc.
This help file is based off LB's help file, including details about all five Lacewing extensions, including Relay, Blue and Lacewing Webserver, but heavily expanded for all five.
You can also get early access to this help file on Please login to see this link..Ask for support and capability questions on Please login to see this link..
Note the Discord invite link has changed since older posts!Its been a while but might actually use this now if it will run on Android.
Why is there no option to secure traffic with ssl cert and Key? -
Its been a while but might actually use this now if it will run on Android.
Why is there no option to secure traffic with ssl cert and Key?SSL isn't built into most protocols, my dude, a better question is why would SSL be in Lacewing? Normally, the uniqueness of how you're using Lacewing is safety enough; no one knows what you're using each subchannel for, the format of your binary messages, etc. That by itself throws most hackers off.
Building encryption into Lacewing without it being necessary slows performance, and requires you to invoke system cryptography libraries. That whole process is overkill for anyone not intending on writing a secure app, and you can roll your own encryption anyway.
You can use Get Object and a HTTPS webserver to log in, like thus:
1. Client sends a HTTPS request with their username and password.
2. HTTPS server notes their source IP, and returns a one-use, IP-locked random string back, called a logintoken.
3. The client then connects to the Lacewing server, and sends a name set request with the username and token.
4. The Lacewing server asks the HTTPS server if the token is valid and tied to that IP.
5. If so, it accepts the name set request and sends an approval back.Once you know a person is who they say they are, there's no more to do. You could use AESFusion to encrypt your messages after login, if it's necessary.
(Further, you could encrypt the login token in the Lacewing name set request, using a AES key generated and also sent back by the HTTPS server, so the original token isn't even readable by the Lacewing server directly, and thus an eavesdropper who somehow has the same IP as you and is faster at reading the token and sending it to the Lacewing server won't be able to decrypt and use it. You could also use a UTC timestamp in seconds as well as the key, as part of the login request.)Again, that's way beyond most Fusion developers. And if they don't know how to do that, they probably would forget a critical security feature and make using a secure client pointless; for example, using a pre-built security key, carefully encrypting all the messages that their client apps use... including clients that the would-be hacker has access to modify for themselves.
Security is covered more under the Lacewing help file, that all my patrons have access to, so you can read more about what a compromised client/server could do, built-in protections Lacewing Blue has, etc.
-
Both extensions now support Unicode!
However, only those signed up to Please login to see this link. can access the full Unicode capabilities. Eventually, the full capabilities will be released to the public for free, but for now, £150 for hundreds of hours of work each month isn't paying the rent. \(' -')/These publicly-released Client/Server are limited to using basic non-Unicode text when reading the expressions or passing text to actions/conditions; the Fusion runtime does this, not the extension itself, so a limited Server will work with non-limited Clients without the Client having any imposed limitations.
I figured it was best for Fusion developers to have the bugfixes of b95/b26, even if I hold back Patreon-only features to give my Patreon sponsorship more value.
You can claim the full versions instantly (and permanently) by signing up to Please login to see this link. at $15/mo. You will also gain access to builds of several pre-release extensions, including SQL database access, Web Query Object, and more, all listed Please login to see this link..There is a massive help file update, which is only available to patrons at the moment. The lowest tier ($5/mo) is enough to get access to that help file, however.
The help file includes examples on everything from defining networking terms, creating player objects, loops, performance tips, sending files, and descriptions of every single action, condition, expression and property, and what Unicode means all laid out. Feedback on the file has been excellent!
It also includes all the subtler questions like object selection, if a peer loop runs for all instances of a Lacewing Server including in sub-apps, whether a peer will be in a peer loop if it's disconnecting, etc.
Even expert Fusion or Lacewing users will have a lot to learn from the help file!Bluewing Client updated to Please login to see this link..
b92: Fixed Not Responding related to peer connections/disconnections in multithreaded mode. Fixed long wait during application quit before the app closed (max 3 seconds).
b93:Final ANSI build!Very minor performance enhancement with named loops.
b94: Final ANSI build! Fixed a bug with peer name changing condition not triggering.
b95: Added Unicode support! Changes to StrByte/CursorStrByte expressions, connecting, disconnecting, frame switching, message handling; IP address, port, cursor string and dump to string expressions, error messages, multithreaded mode, channel listing, name sets, object properties, channel master, cursor string, and improved XP compatibility. DarkEdif SDK is now v10.For the full list of ~25 client edits in build 95, including added features and changes, see the Please login to see this link..
Bluewing Server updated to Please login to see this link..
b23: Fixed write lock around handler reset/unhost ops in cleanup. This may not have been a problem, it just echoes Client's b91 fix. Updated DarkEdif SDK to v6.
b24: Fixed crash when a channel was created without a master.
b25: Final ANSI build! Allows servers to know if client was kicked due to corrupt messages. Added write lock around setting welcome message.
b26: Added Unicode support! Changes to StrByte/CursorStrByte expressions, now trims channel/client names, changes to frame switching, message handling; IP address, port, client implementation string and dump to string expressions, object properties, channel master, on channel close event, modified conditions menu and improved XP compatibility. DarkEdif SDK is now v10.For the full list of ~13 server edits in build 26, including added features and changes, see the Please login to see this link..
As always, for support, tips and bug reports, read the help file, or contact me on Please login to see this link.. (link has changed since last post)
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link.. -
Nice... too bad I don't have unicode
-
Nice... too bad I don't have unicode
It's an optional add-on for Fusion 2.0, but all Fusion 2.5 apps use Unicode by default.
If you have Fusion 2.5, you have Unicode! -
Oh ok.. I thought I have to do coding and coding for unicode xd
-
Bluewing Server updated to Please login to see this link..
b25: Final ANSI build! Allows servers to know if client was kicked due to corrupt messages. Added write lock around setting welcome message.
b26: Added Unicode support! Changes to StrByte/CursorStrByte expressions, now trims channel/client names, changes to frame switching, message handling; IP address, port, client implementation string and dump to string expressions, object properties, channel master, on channel close event, modified conditions menu and improved XP compatibility. DarkEdif SDK is now v10. Please login to see this link..
b27: Fixed single-character channel/client names being considered invalid. Fixed possible crash when closing down server.Both extensions support Unicode!
However, only those signed up to Please login to see this link. can access the full Unicode capabilities. Eventually, the full capabilities will be released to the public for free, but for now, £150 for hundreds of hours of work each month isn't paying the rent. \(' -')/These publicly-released Client/Server are limited to using basic non-Unicode text when reading the expressions or passing text to actions/conditions; the Fusion runtime does this, not the extension itself, so a limited Server will work with non-limited Clients without the Client having any imposed limitations.
I figured it was best for Fusion developers to have the bugfixes of b95/b26, even if I hold back Patreon-only features to give my Patreon sponsorship more value.
You can claim the full versions instantly (and permanently) by signing up to Please login to see this link. at $15/mo. You will also gain access to builds of several pre-release extensions, including SQL database access, Web Query Object, and more, all listed Please login to see this link..There is a massive help file update, which is only available to patrons at the moment. The lowest tier ($5/mo) is enough to get access to that help file, however.
The help file includes examples on everything from defining networking terms, creating player objects, loops, performance tips, sending files, and descriptions of every single action, condition, expression and property, and what Unicode means all laid out. Feedback on the file has been excellent!
It also includes all the subtler questions like object selection, if a peer loop runs for all instances of a Lacewing Server including in sub-apps, whether a peer will be in a peer loop if it's disconnecting, etc.
Even expert Fusion or Lacewing users will have a lot to learn from the help file!As always, for support, tips and bug reports, read the help file, or contact me on Please login to see this link.. (link has changed since last post)
The Please login to see this link. is still available (with Please login to see this link.), as are the Please login to see this link.. -
The multiplayer/networking extension for Fusion is now on mobile!
Public release will likely not be happening for a range of months to a year, or so. If there's not enough financial support, I may have to give up on releasing it for free entirely, and put mobile versions on the ClickStore instead with a price tag. I would hate to do that, though, I've been short on funds myself, but it's either the community projects are worth working on, or I'm throwing my time into a rabbit hole.
Anyone who wants access to Bluewing Client for iOS and Android now should be signing up on Please login to see this link.! The "ext elitist" or higher tier will get you early access.
If you would rather purchase a one-off update by PayPal or other means, let me know!
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!