(thread now moved from creation-feedback to community-tutorial!)
The motivation behind this creation was made from 1 Tiktok Video
⚠ WARNING MAKING THIS AT YOUR OWN RISK! ⚠
Attempting to run a Minecraft Server on a low-end device is strongly discouraged!
These applications demand a significant amount of RAM to function properly. Undertaking such tasks on a device with limited resources can result in critical performance issues, and in extreme cases, it may lead to the complete teardown of your device.
Unstable Performance: Running resource-intensive server operations without adequate RAM may lead to severe lag, crashes, and overall unstable performance.
How it Works
The Plug-In record player location upon executing a command and stores the data in JSON format within the Record Plug-In Directory every 20 ticks.
Since, by default, Minecraft runs on 20 ticks per second, the conversion from ticks to seconds is calculated something like this:
Seconds = ( 20 / DefaultTick ) = 1
Moving forward, Python’s FastAPI is employed to self-host the API in a Python script, which retrieves and returns JSON content from the Record Plug-In Directory. The JSON structure is as follows:
⸻⸻⸻⸻⸻⸻⸻⸻⸻
Json Breakdown
{
"data": [{
"nickibreeki": { // Minecraft Username
"position": "x,y,z", // CLoc.getX(), CLoc.getY(), CLoc.getZ()
"rotation": "x,y" // CLoc.getYaw(), CLoc.getPitch()
}
}]
}
Why CSV and Not Separate Branches?
The decision to store data as CSV is primarily due to simplicity.Upon extraction, the data can be easily converted from CSV format to a table.
Accessing Localhost Data without Direct Requests
Here's my hacky way to request localhost, a workaround involves using Ngrok to convert my public IP. After convert process Change the FastAPI port match with Ngrok's port.⸻⸻⸻⸻⸻⸻⸻⸻⸻
Flowchart Diagram
If there are inaccuracies in the flowchart, I extend my apologies, as my flowchart skills are a work in progress on revive
Minecraft Record Plug-in Creation:
Transmitting Data from Minecraft to ROBLOX:
Additional Information that not existed in flowchart diagram
We will use a for loop to iterate through the data table from server side. The index of the data table corresponds to the character name, as can be seen in the breakdown JSON section.
The for loop will execute every time the RemoteEvent is triggered.
The loop will ignore existing characters and create new characters if they do not already exist.
⸻⸻⸻⸻⸻⸻⸻⸻⸻
Any Suggestions or Feedback would help me a lot! Thanks for your time reading and reviewing this!
I wish and hope this information is useful and enough for you guys to do achieve like what i achieved!