Streetboy_xD

fileserver.install

Oct 25th, 2014
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. -- Extras
  2.  
  3. fs.makeDir("Programs")
  4.  
  5. -- Variablen
  6.  
  7. modemside = "back"
  8.  
  9. -- Funktionen
  10.  
  11. function safetymodem()
  12.  
  13. while peripheral.getType(modemside) ~= "modem" do
  14.  
  15. term.clear()
  16. term.setCursorPos(1,1)
  17. term.write("Bitte Wireless-Modem wieder anbringen!")
  18. sleep(0.25)
  19.  
  20. end
  21.  
  22. rednet.open(modemside)
  23.  
  24. end
  25.  
  26. function bin(program)
  27.  
  28. if fs.exists("Programs/"..program) and program ~= "" then
  29.  
  30. fs.delete("Programs/"..program)
  31. file = fs.open("DateiListe","r")
  32. data = file.readAll()
  33. file.close()
  34.  
  35. firstpart = string.sub(data, 1, string.find(data.."",program) -1)
  36. secondpart = string.sub(data, string.find(data.."",program..";") + string.len(program..";"), -1)
  37.  
  38. file = fs.open("DateiListe","w")
  39. file.write(firstpart..secondpart)
  40. file.close()
  41.  
  42. return "Erfolgreich geloescht!"
  43.  
  44. else
  45.  
  46. return "Dieses Programm existiert nicht!"
  47.  
  48. end
  49.  
  50. end
  51.  
  52. function download(program, sender)
  53.  
  54. if fs.exists("Programs/"..program) and program ~= "" then
  55. downloading = fs.open("Programs/"..program,"r")
  56. file = downloading.readAll()
  57. downloading.close()
  58. else
  59. rednet.send(sender,"Error: existiert nicht!")
  60. end
  61.  
  62. return file
  63.  
  64. end
  65.  
  66. function upload(programname,programcode)
  67.  
  68. if not fs.exists("Programs/"..programname) then
  69.  
  70. uploading = fs.open("Programs/"..programname,"w")
  71. uploading.write(programcode)
  72. uploading.close()
  73.  
  74. ergebnis = programname.." erfolgreich hochgeladen!"
  75.  
  76. else
  77.  
  78. ergebnis = "Datei existiert bereits!"
  79.  
  80. end
  81.  
  82. return ergebnis
  83.  
  84. end
  85.  
  86. function addlist(eintrag)
  87.  
  88. if fs.exists("DateiListe") then
  89. list = fs.open("DateiListe","a")
  90. list.write(eintrag..";")
  91. list.close()
  92. else
  93. list = fs.open("DateiListe","w")
  94. list.write(eintrag..";")
  95. list.close()
  96. end
  97.  
  98. end
  99.  
  100. function readlist()
  101.  
  102. if fs.exists("DateiListe") then
  103. list = fs.open("DateiListe","r")
  104. readedList = list.readAll()
  105. list.close()
  106.  
  107. return readedList
  108. else
  109. return "Keine Liste vorhanden"
  110. end
  111.  
  112. end
  113.  
  114. -- Hauptteil
  115.  
  116. while true do
  117.  
  118. safetymodem()
  119.  
  120. term.clear()
  121. term.setCursorPos(1,1)
  122. term.write("Filetransferserver 1.0")
  123.  
  124. rednet.open(modemside)
  125.  
  126. a,b,c = rednet.receive()
  127.  
  128. if string.sub(b,1,2) == "D;" then
  129.  
  130. program = string.sub(b,string.find(b.."","D;")+2,string.len(b))
  131.  
  132. if fs.exists("Programs/"..program) then
  133.  
  134. downloadfile = download(program,a)
  135.  
  136. sleep(0.25)
  137.  
  138. rednet.send(a,downloadfile)
  139.  
  140. else
  141.  
  142. rednet.send(a,"Error: existiert nicht!")
  143.  
  144. end
  145.  
  146. elseif string.sub(b,1,2) == "L;" and b ~= "" then
  147.  
  148. ListFile = readlist()
  149. rednet.send(a,ListFile)
  150.  
  151.  
  152. elseif string.sub(b,1,2) == "B;" and b ~= "" then
  153.  
  154. delete = bin(string.sub(b, 3, -1))
  155. rednet.send(a, delete)
  156.  
  157. elseif string.sub(b,1,2) == "U;" and b ~= "" then
  158.  
  159. rawprogram = string.sub(b,string.find(b.."","U;")+2,string.len(b))
  160. programname = string.sub(rawprogram,1,string.find(rawprogram.."","$;")-1)
  161. program = string.sub(rawprogram,string.find(rawprogram.."","$;")+2,string.len(b))
  162.  
  163. if fs.exists("Programs/"..programname) then
  164.  
  165. rednet.send(a,"Programm existiert bereits!")
  166.  
  167. else
  168.  
  169. print(programname)
  170. addlist(programname)
  171. endergebnis = upload(programname,program)
  172.  
  173. rednet.send(a,endergebnis)
  174.  
  175. end
  176.  
  177. elseif b == nil then
  178.  
  179. rednet.send(a,"Error nil!")
  180.  
  181. end
  182.  
  183. end
  184.  
  185.  
  186. -- Scripted by Streetboy_xD
  187. -- Please keep this text in the program.
Advertisement
Add Comment
Please, Sign In to add comment