User:ScratchTeam/sandbox

The Buffex Protocol
The Buffex Protocol is a protocol for communication between computers in Scratch. This protocol is co-developed by Enclocreations and Xpypsscteacher15089 on Scratch. Upon its inception on Scratch. It becomes highly popular and is used by many projects utilizing cloud variables to make online games or large databases.

1.Inception
The Buffex Protocol is developed by a team of 3, I included, to make cloud computing without hacked blocks or breaking the length cap of cloud variables. It is used commonly by popular projects, suck as Club Scratch, MMORPGs on Scratch, and other cloud projects made by even Griffpatch-level users such as TimMcCool, Kevin_Eleven_1234, and other popular Scratch users. It is often considered to be the most advanced on the entire Scratch website, because of the number of ports supported and being able to use an external server outside of Scratch.

2.Functions
The Buffex Protocol features high-level cloud computing, that can be made for massively online multiplayer games, large databases that support 200,000 user data. On the client-side, Buffex supports downloading the entire database though it is still in beta and won't account data packet loss. A function is also available that allows users to download a selected portion of the database.

3.Data Structure
The data structure of Buffex is very complex and contains 2 ports. First of all, the database contains all the user inputted data. Two cloud variables are used to transmit information between the server and the client console back and forth. This is a simplified explanation of the database and more details can be found in the actual Scratch project.

4.Data transmitting
As mentioned, the system uses two cloud variables, one for the Server, one for the Client. To transmit information from the Client to the Server, the program has to set the user variable to the encoded value of the inputted data and attach it with a random verification code to make the program more responsive. For the Server to receive the information sent by the client, the server checks if the variable is different from the last one, and if it is different, decode the value without the verification and add it to the database. For the Server to transmit information to the client console, all data in the database is encoded into numbers and is sent to the user bit by bit, each about 256 characters.

5.Bugs
Since the protocol is in the beta stage of development, many bugs are reported every week. The most common one is the loss of data packets and the system saying the server is offline. Also, many users complain that I don't run my Server very often so it is reporting offline, and my Server is offline because sometimes I am updating quite a lot to improve performance. To conclude, this system is fairly reliable but have some problems to be solved.

6.Disclaimer
The creator has been getting a lot of trouble because of this project, EncloCreations says that the creater is copying his project name and using the same layout, but it is just very similar. And the program and code are completely original, I don't use anyone's code or engines.

7.Conclusion
The Buffex Protocol is a project that has a lot of potentials but has a lot of bugs and stability issues to be fixed. The creator will follow closely to improve these issues and make it better.

->