r/ComputerCraft

desktop GUI app for managing local Minecraft servers

Tired of juggling bat files and editing server.properties by hand, so I built ServerMate - a desktop app for Windows that wraps everything in a clean UI.

Features:

  • Create/import servers (Vanilla, Paper, Fabric)
  • Built-in console with command input
  • server.properties editor
  • Java auto-detect & install
  • Auto-backups on a schedule
  • Plugin marketplace (Hangar/Modrinth)
  • Player management (whitelist, ops, bans)
  • Drag & drop server ordering
  • Public IP display (spoiler reveal)

Still early, open to feedback. GitHub: https://github.com/lonestill/ServerMate

App preview on github

reddit.com
u/Mean-Ad-6752 — 1 day ago

Question about your favorite way to play with ComputerCraft

Hey everyone,

I'm looking for ideas on how to build a playthrough around ComputerCraft where programming is actually the optimal solution, rather than just a cosmetic flex

Here is the problem I usually run into:

  1. Heavy tech packs provide pre-made blocks that handle logistics, mining, and storage instantly and far more efficiently than any script. Programming ends up being purely for aesthetic dashboards/managing reactors
  2. The solution seems to be a semi-vanilla/custom constraint setup. I want to build a minimal modpack or a playthrough where I actually have a purpose to use CC/Turtles for all automation, sorting, and mining.
  3. The goal is deep automation with a high resource demand. I want a reason to program a swarm of turtles to mine 999,99 diamonds or build a custom physical warehouse database, instead of just slapping down an ME system.

My questions:

  • Do you know of any ready-made modpacks built around this philosophy?
  • If I build my own minimal pack, what complementary mods should I include? (I'm thinking mods that add heavy endgame resource sinks, but don't provide easy automation solutions).
  • Any specific playthrough ideas or config tweaks? For example, using KubeJS to entirely disable item pipes and quarry blocks from tech mods so I'm forced to write my own logistics and mining algorithms.
reddit.com
u/Zentawrus228 — 1 day ago

getPressedKeys not working

First off, I’m terrible at Lua, I’m more of a hack-and-slash kind of guy than someone who really knows how to code, but I manage. Could someone tell me why the `getPressedKeys` function (found on the Creators-of-Aeronautics GitHub) isn’t returning anything ? I’d like to be able to access computer functions from the Typewriter

reddit.com
u/LeBasou — 4 days ago
▲ 7 r/ComputerCraft+1 crossposts

Do pullEvents behave differently inside FOR loops ?

Some context. I'm making an articulated arm with create Aeronautics controlled by computers.

3 motors to get maximum movement. Highly inefficient, cool as fck

My problem resides in the way i've been controlling the motors.
All 3 motors have individual computers with modems, all ready to recieve instructions from the main pc. They are supposed to receive an instruction, and sleep continuously while the motor is active, and only at the end of the movement will they send a reply to the main pc, which will trigger the next commands.
The arm is supposed to be slow, it's supposed to move only one motor at a time (intentional).
When i make a simple basic list of modem,transmits() ,the arm behaves as intended.

this proof of concept worked as intended

This above is a very simple instruction to make the arm move slightly. My problem was this was ugly and tedious to expand. So i made a much cleaner(?) and more customisable version that was supposed to make it MUCH more simple to make new movement prompts later down the line.

function movementControl(a)
  local actionCount = 0
  local directionValue = 0
  local turnorder = {{1,2},{5,6},{3,4},{1,2},{3,4},{5,6},{1,2}}

  for i, angle in ipairs(a) do
    if angle == 'forward' then
      directionValue = -1

    elseif angle == 'backward' then
      directionValue = 1

    elseif angle =='motorstart' then
      rs.setOutput("back",true)
      sleep(3)

    elseif angle == 'motorstop' then
      rs.setOutput("back",false)
      sleep(5)

    elseif type(angle)=="number" then
      actionCount = actionCount + 1
      modem.transmit(turnorder[actionCount][1],turnorder[actionCount][2],{angle,directionValue})
      sleep(0.1)
      modem.open(turnorder[actionCount][2])
      local event, side ,channel, replyChannel, message, distance = os.pullEvent("modem_message")
      modem.close(turnorder[actionCount][2])
      sleep(0.1)

    end
  end



end


local harvestwheat1 = {'forward',30,20,23,'motorstart',30,'motorstop','backward',23,20,60}
local harvestwheat2 = {'forward',100,20,23,'motorstart',40,'motorstop','backward',23,20,140}
local harvestcarrot1 = {'forward',110,70,47,'motorstart',20,'motorstop','backward',47,70,130}


movementControl(harvestwheat1)

Now the actual problem is that the os.pullEvent i do when in my for loop dont seem to actually pause the computer. The loop kinda just continues on without waiting for the response from the motors.
Is there a specificity to Lua that i'm not getting (not likely) ? is there a specificity that my not good at coding ass doesn't understand (much more likely) ?

Ty for the help, and if people have better ways of doing any of this i might cave in and just redo the code from scratch with some suggestions ><

local gear = peripheral.wrap("right")
local modem = peripheral.wrap("left")
modem.open(1)


while true do
  
  local event, side ,channel, replyChannel, message, distance = os.pullEvent("modem_message")


  gear.rotate(message[1],message[2])


  while gear.isRunning() do
    sleep(0.5)
  end
  modem.transmit(replyChannel,20,gear.isRunning())


end

bonus : this is the code im using on the pc at the motors.

reddit.com
u/Pillow51 — 4 days ago

What is the definition of an 'Operating System kernel'?

in ComputerCraft Operating Systems (like PhoenixOS & opus), what is the definition of a kernel?

Is it an init system?

is it a BIOS?

is it a system that adds drivers?

is it a process scheduler?

Are multiple of these the requirements for a kernel? and if so which ones/how many are required for it to be a kernel?

is it something else?

Please let me know. (P.S. yes, this is just so that I can say that I made my own operating system kernel)

reddit.com
u/MattisTheProgrammer — 5 days ago
▲ 124 r/ComputerCraft+1 crossposts

PID-stabilized quadcopter :3

It stabilizes height, x and z angles through the gimbal sensor and the y angle (heading) with auxiliar motors on the side. Now i want to make an autopilot however i have not figured out yet how to get the current ship coordinate. Anyways here's the source code :)

u/Mega2223 — 11 days ago

reading peripheral takes a tick?

is this right? i'm trying to read the fluid contents of two tanks, but i just noticed that when i do that, my program starts only being able to execute every other tick... and if i add a third, it only executes every 3 ticks. is there anything i can do to make this only take one tick? could i do these reads in parallel, somehow, and then store the results for use in the main program?

reddit.com
u/AmberGoop — 11 days ago
▲ 82 r/ComputerCraft+1 crossposts

I'm trying to make my own implementation of MQTT inside CC!

You can connect to a broker, publish to topics, and subscribe to them! Also a timeout system to make sure it doesn't infinitely remember computers and keep sending data.

It doesn't have any way to actually make sure it received messages, so I need to add that to make it more consistent.

Also, the mqtt.lua library for the clients is automatically downloaded from the broker computer for easy updating!

u/IJustAteABaguette — 13 days ago