Advertisement
Alakazard12

cc_relay

Jan 8th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.02 KB | None | 0 0
  1. -- Simple relay
  2.  
  3. local server_channel = 23
  4. local client_channel = 43
  5.  
  6.  
  7. local controller_modem_side = "back"
  8. local remote_modem_side = "top"
  9.  
  10.  
  11. local controller_modem = peripheral.wrap(controller_modem_side)
  12. local remote_modem = peripheral.wrap(remote_modem_side)
  13.  
  14. controller_modem.open(client_channel)
  15. remote_modem.open(server_channel)
  16. controller_modem.open(server_channel)
  17. remote_modem.open(client_channel)
  18.  
  19.  
  20. local server_step = 0
  21.  
  22.  
  23. while true do
  24.     local event, side, channel, reply, message, distance = os.pullEvent("modem_message")
  25.     if event == "modem_message" then
  26.         -- Relay
  27.         if side == controller_modem_side then
  28.             print("Relaying to remote")
  29.             remote_modem.transmit(channel, server_channel, message)
  30.         elseif side == remote_modem_side then
  31.             print("Relaying to controller")
  32.             -- We encode a step because OC receives duplicates
  33.             controller_modem.transmit(channel, server_step, message)
  34.             server_step = server_step + 1
  35.             if server_step == 256 then
  36.                 server_step = 0
  37.             end
  38.         end
  39.     end
  40. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement