Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Open Rednet
- rednet.open("back") -- Change to the side your modem is on
- -- Settings
- local expectedMessage = "hello" -- Adjust for whatever valid messages you're expecting
- local detectionWindow = 5 -- Number of seconds to monitor incoming messages
- local maxMessagesPerWindow = 20 -- Maximum messages expected in a normal scenario
- -- Main loop for detecting jamming
- while true do
- local startTime = os.clock()
- local messageCount = 0
- local validMessageCount = 0
- -- Monitor messages for a certain time window
- while os.clock() - startTime < detectionWindow do
- local senderId, message, protocol = rednet.receive(0.1) -- Small timeout for responsiveness
- if message then
- messageCount = messageCount + 1
- -- Check if the message is valid
- if message == expectedMessage then
- validMessageCount = validMessageCount + 1
- end
- end
- end
- -- Detection logic
- if messageCount > maxMessagesPerWindow then
- print("Possible jamming detected! Excessive messages: " .. messageCount)
- elseif validMessageCount == 0 and messageCount > 0 then
- print("Possible jamming detected! High message count, but no valid messages.")
- else
- print("Network seems normal.")
- end
- -- Sleep for a bit before the next detection cycle
- sleep(2)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement