Blink | An IDL compiler written in Luau for ROBLOX buffer networking. | 0.17.3

I keep encountering this error when trying to generate Client and Server scripts from the Roblox Plugin.

“Unable to assign property Source. Provided string length (204873) is greater than or equal to max length (200000)”

I think it’s related to the amount of events I have. Is there any work around or fix known for this?

Thanks.

Not much you can do, needs to be solved on my end.

Oh ok. Do have any plans to fix it soon? Not imposing, just wondering. Blink is the best network solution i’ve found so far. Thanks for making it!

Did you save before generating?

I thought i deleted that post of mine… sorry about that. No, I had not saved… took me a little bit to figure out. Thanks a lot for the interest.

Btw for any other visitor, I totally recommend blink!

1 Like

how would i send a string , string [“TEST”] = ‘test’ dictionary

map NAME = {[string]: string}
1 Like

I don’t see myself using it because of the overhead that comes with it. Here are the reasons:

1. Learning another language

Even if simple, having to know 2 languages already creates overhead for you and the people you hire.

2. Specifics of buffer replication

Most of the time I use buffer-based replication with UnreliableRemoteEvents where the batch size cannot exceed 900 bytes. Buffers offer a compact way of packing the information. For other purposes, I prefer a more readable solution like JSON tables.

Also, you need to consider that the server has native code generation. Which, as said, makes buffer read/write a lot faster, and to use that to full extend, you can’t abstract it behind function calls or oop. Which requires a way different approach.

Personal opinion

I really prefer to keep everything inside the studio. In the latest years, Roblox made lots of improvements on their code editor. Especially I am happy with the new typechecker, which compares to C++ types and user-defined documentation. Through these features were already present in external code editors. Having them directly embedded with the Roblox environment makes things a lot easier for the team creation.

1 Like

how to send vector3? i dont get it is vector analog to vector3?
Do I have to create 2 events for replication?
изображение

Yes. Can’t check right now but it should just be Vector3.

I’ve found this network solution really useful and currently using it for my new game, but I’m kinda stumped: is it possible to have an optional value than can be one of the two types (e.g string or boolean)? Atm I have it on “unknown” type.
(I’m not that good at typewriting)

Union types are not currently supported. Although it’s a bit of a roundabout way to do it, you can use a tagged enum to achieve a similar effect.

2 Likes

I have recently experienced the output being spammed with this error:


from what i can tell this dosent really mean anything, and the client is still receiving the events. I am not spamming the event, only once every two seconds, and this is appearing every heartbeat. The part exists on the client, and even the functionality is still intact, with the client still applying the proper components and tags onto the object:
nvm it appears to make the event not go thru
i take that back yet again

any idea whats going on?

Is there a tutorial for absolute begginers who have 0 experience and knowledge?

I don’t know how reasonable it is to recommend this tool to absolute beginners. You need at least some amount of knowledge to properly construct your schemas for optimal efficiency, and teaching this knowledge would be out of scope for such a tutorial.

1 Like

this isnt recommended for people that know nothing

Where should i start learning?

Having a table inside of a struct seems to error. This is strange since the code sample used in the documentation does this.

struct Entity {
    Health: u8(0..100),
    Position: vector,
    Rotation: u8,
    Animations: { -- errors?
        First: u8?,
        Second: u8,
        Third: u8
    }
}

Hello! The snippet on the docs had a mistake in it, thank you for pointing it out.
There is a struct type missing before the open curly braces in the Animations field, the proper type definition looks like so:

struct Entity {
    Health: u8(0..100),
    Position: vector,
    Rotation: u8,
    Animations: struct {
        First: u8?,
        Second: u8,
        Third: u8
    }
}
1 Like

For the plugin, is it possible to save new code to an already existing project instead of having to generate a new one? If not, would it be possible to add this feature because it can get a little tedious having to generate new projects every time you edit the Blink code.

1 Like