Advertisement
Simlor_GER

MOB - Server System (Privates Projekt)

Jul 22nd, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.22 KB | None | 0 0
  1. --Copyright by Simlor (http://www.computercraft.info/forums2/index.php?/user/55655-simlor/)
  2.  
  3. --Minecraft Online Banking System (MOB System)
  4.  
  5. os.pullEvent = os.pullEventRaw
  6.  
  7. rednet.open("back") --Side
  8.  
  9. LogTRUE = true --AnfragenLog
  10.  
  11. IsMOBonVAR = true --Soll der Server sofort an sein?
  12.  
  13. --SimSoft API
  14.  
  15. function Clear()
  16.  
  17. term.clear()
  18. term.setCursorPos(1,1)
  19.  
  20. end
  21.  
  22. function CP(x,y)
  23.  
  24. term.setCursorPos(x,y)
  25.  
  26. end
  27.  
  28. function BC(farbe)
  29.  
  30. term.setBackgroundColor(farbe)
  31.  
  32. end
  33.  
  34. function TC(farbe)
  35.  
  36. term.setTextColor(farbe)
  37.  
  38. end
  39.  
  40. --MOB Functions
  41.  
  42. function LogWriter(nachricht)
  43.  
  44. local file = fs.open(".mob/log","a")
  45. file.writeLine(nachricht)
  46. file.close()
  47.  
  48. end
  49.  
  50. function Console()
  51.  
  52. BC(32768)
  53. Clear()
  54.  
  55. TC(2)
  56.  
  57. CP(1,1)
  58. print("Minecraft Online Banking (MOB)")
  59. print("------------------------------")
  60.  
  61. TC(16384)
  62.  
  63. CP(1,4)
  64. print("WARNING: This is the main server!")
  65.  
  66. TC(1)
  67.  
  68. CP(1,6)
  69. print("Welcome into the MOB Console.")
  70. print("Type 'help' for a list of commands.")
  71.  
  72. --CP(1,18)
  73.  
  74. oldeingabe = {}
  75.  
  76. while true do
  77.  
  78. print("")
  79. TC(1)
  80. write("> ")
  81. TC(512)
  82.  
  83. eingabe = read(nil,oldeingabe)
  84.  
  85. table.insert(oldeingabe, eingabe)
  86.  
  87. --Abfragen
  88.  
  89. if eingabe == "help" then
  90.  
  91. print("")
  92.  
  93. TC(1)
  94.  
  95. print("Command-List (N):")
  96. print("")
  97. print(" 'help'")--
  98. print(" 'shutdown'")--
  99. print(" 'reboot'")--
  100. print("")
  101. print("Command-List (MOB):")
  102. print("")
  103. print(" 'mob_start'")--
  104. print(" 'mob_shutdown'")--
  105. print(" 'mob_reboot'")--
  106. print(" 'mob_edit_main'")--
  107. print(" 'mob_edit_userdata'")--
  108. print(" 'mob_edit_log'")
  109. print(" 'mob_delete_log'")--
  110. print(" 'mob_is_server'")
  111.  
  112. elseif eingabe == "mob_shutdown" then
  113.  
  114. print("")
  115.  
  116. TC(1)
  117.  
  118. write("Enter your Admin-Code: ")
  119.  
  120. TC(512)
  121. EadminPass = read("#")
  122.  
  123. file = fs.open(".mob/admindata","r")
  124. local fileData = {}
  125. local line = file.readLine()
  126. repeat
  127. table.insert(fileData,line)
  128. line = file.readLine()
  129. until line == nil
  130. file.close()
  131.  
  132. OadminPass = fileData[1]
  133.  
  134. EingabeType = tonumber(EadminPass)
  135.  
  136. if EingabeType == nil then
  137.  
  138. print("")
  139.  
  140. TC(16384)
  141.  
  142. print("Wrong format!")
  143.  
  144. OadminPass = nil
  145. EadminPass = nil
  146. ZadminPass = nil
  147.  
  148. else
  149.  
  150. EadminPass = (EadminPass+0)
  151.  
  152. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  153.  
  154. if ZadminPass == EadminPass then
  155.  
  156. print("")
  157.  
  158. TC(32)
  159.  
  160. print("Server is now offline!")
  161.  
  162. IsMOBonVAR = false
  163.  
  164. OadminPass = nil
  165. EadminPass = nil
  166. ZadminPass = nil
  167.  
  168. else
  169.  
  170. print("")
  171.  
  172. TC(16384)
  173.  
  174. print("Access denied!")
  175.  
  176. OadminPass = nil
  177. EadminPass = nil
  178. ZadminPass = nil
  179.  
  180. end
  181.  
  182. end
  183.  
  184. elseif eingabe == "mob_start" then
  185.  
  186. print("")
  187.  
  188. TC(1)
  189.  
  190. write("Enter your Admin-Code: ")
  191.  
  192. TC(512)
  193. EadminPass = read("#")
  194.  
  195. file = fs.open(".mob/admindata","r")
  196. local fileData = {}
  197. local line = file.readLine()
  198. repeat
  199. table.insert(fileData,line)
  200. line = file.readLine()
  201. until line == nil
  202. file.close()
  203.  
  204. OadminPass = fileData[1]
  205.  
  206. EingabeType = tonumber(EadminPass)
  207.  
  208. if EingabeType == nil then
  209.  
  210. print("")
  211.  
  212. TC(16384)
  213.  
  214. print("Wrong format!")
  215.  
  216. OadminPass = nil
  217. EadminPass = nil
  218. ZadminPass = nil
  219.  
  220. else
  221.  
  222. EadminPass = (EadminPass+0)
  223.  
  224. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  225.  
  226. if ZadminPass == EadminPass then
  227.  
  228. print("")
  229.  
  230. TC(32)
  231.  
  232. print("Server is now online!")
  233.  
  234. IsMOBonVAR = true
  235.  
  236. OadminPass = nil
  237. EadminPass = nil
  238. ZadminPass = nil
  239.  
  240. else
  241.  
  242. print("")
  243.  
  244. TC(16384)
  245.  
  246. print("Access denied!")
  247.  
  248. OadminPass = nil
  249. EadminPass = nil
  250. ZadminPass = nil
  251.  
  252. end
  253.  
  254. end
  255.  
  256. elseif eingabe == "mob_delete_log" then
  257.  
  258. print("")
  259.  
  260. TC(1)
  261.  
  262. write("Enter your Admin-Code: ")
  263.  
  264. TC(512)
  265. EadminPass = read("#")
  266.  
  267. file = fs.open(".mob/admindata","r")
  268. local fileData = {}
  269. local line = file.readLine()
  270. repeat
  271. table.insert(fileData,line)
  272. line = file.readLine()
  273. until line == nil
  274. file.close()
  275.  
  276. OadminPass = fileData[1]
  277.  
  278. EingabeType = tonumber(EadminPass)
  279.  
  280. if EingabeType == nil then
  281.  
  282. print("")
  283.  
  284. TC(16384)
  285.  
  286. print("Wrong format!")
  287.  
  288. OadminPass = nil
  289. EadminPass = nil
  290. ZadminPass = nil
  291.  
  292. else
  293.  
  294. EadminPass = (EadminPass+0)
  295.  
  296. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  297.  
  298. if ZadminPass == EadminPass then
  299.  
  300. print("")
  301.  
  302. TC(32)
  303.  
  304. print("Access granted!")
  305.  
  306. fs.delete(".mob/log")
  307.  
  308. OadminPass = nil
  309. EadminPass = nil
  310. ZadminPass = nil
  311.  
  312. else
  313.  
  314. print("")
  315.  
  316. TC(16384)
  317.  
  318. print("Access denied!")
  319.  
  320. OadminPass = nil
  321. EadminPass = nil
  322. ZadminPass = nil
  323.  
  324. end
  325.  
  326. end
  327.  
  328. elseif eingabe == "mob_edit_userdata" then
  329.  
  330. print("")
  331.  
  332. TC(1)
  333.  
  334. write("Enter your Admin-Code: ")
  335.  
  336. TC(512)
  337. EadminPass = read("#")
  338.  
  339. file = fs.open(".mob/admindata","r")
  340. local fileData = {}
  341. local line = file.readLine()
  342. repeat
  343. table.insert(fileData,line)
  344. line = file.readLine()
  345. until line == nil
  346. file.close()
  347.  
  348. OadminPass = fileData[1]
  349.  
  350. EingabeType = tonumber(EadminPass)
  351.  
  352. if EingabeType == nil then
  353.  
  354. print("")
  355.  
  356. TC(16384)
  357.  
  358. print("Wrong format!")
  359.  
  360. OadminPass = nil
  361. EadminPass = nil
  362. ZadminPass = nil
  363.  
  364. else
  365.  
  366. EadminPass = (EadminPass+0)
  367.  
  368. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  369.  
  370. if ZadminPass == EadminPass then
  371.  
  372. print("")
  373.  
  374. TC(32)
  375.  
  376. print("Access granted!")
  377.  
  378. shell.run("edit .mob/userdata")
  379. CP(1,18)
  380.  
  381. OadminPass = nil
  382. EadminPass = nil
  383. ZadminPass = nil
  384.  
  385. else
  386.  
  387. print("")
  388.  
  389. TC(16384)
  390.  
  391. print("Access denied!")
  392.  
  393. OadminPass = nil
  394. EadminPass = nil
  395. ZadminPass = nil
  396.  
  397. end
  398.  
  399. end
  400.  
  401. elseif eingabe == "mob_edit_log" then
  402.  
  403. print("")
  404.  
  405. TC(1)
  406.  
  407. write("Enter your Admin-Code: ")
  408.  
  409. TC(512)
  410. EadminPass = read("#")
  411.  
  412. file = fs.open(".mob/admindata","r")
  413. local fileData = {}
  414. local line = file.readLine()
  415. repeat
  416. table.insert(fileData,line)
  417. line = file.readLine()
  418. until line == nil
  419. file.close()
  420.  
  421. OadminPass = fileData[1]
  422.  
  423. EingabeType = tonumber(EadminPass)
  424.  
  425. if EingabeType == nil then
  426.  
  427. print("")
  428.  
  429. TC(16384)
  430.  
  431. print("Wrong format!")
  432.  
  433. OadminPass = nil
  434. EadminPass = nil
  435. ZadminPass = nil
  436.  
  437. else
  438.  
  439. EadminPass = (EadminPass+0)
  440.  
  441. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  442.  
  443. if ZadminPass == EadminPass then
  444.  
  445. print("")
  446.  
  447. TC(32)
  448.  
  449. print("Access granted!")
  450.  
  451. shell.run("edit .mob/log")
  452. CP(1,18)
  453.  
  454. OadminPass = nil
  455. EadminPass = nil
  456. ZadminPass = nil
  457.  
  458. else
  459.  
  460. print("")
  461.  
  462. TC(16384)
  463.  
  464. print("Access denied!")
  465.  
  466. OadminPass = nil
  467. EadminPass = nil
  468. ZadminPass = nil
  469.  
  470. end
  471.  
  472. end
  473.  
  474. elseif eingabe == "mob_edit_main" then
  475.  
  476. print("")
  477.  
  478. TC(1)
  479.  
  480. write("Enter your Admin-Code: ")
  481.  
  482. TC(512)
  483. EadminPass = read("#")
  484.  
  485. file = fs.open(".mob/admindata","r")
  486. local fileData = {}
  487. local line = file.readLine()
  488. repeat
  489. table.insert(fileData,line)
  490. line = file.readLine()
  491. until line == nil
  492. file.close()
  493.  
  494. OadminPass = fileData[1]
  495.  
  496. EingabeType = tonumber(EadminPass)
  497.  
  498. if EingabeType == nil then
  499.  
  500. print("")
  501.  
  502. TC(16384)
  503.  
  504. print("Wrong format!")
  505.  
  506. OadminPass = nil
  507. EadminPass = nil
  508. ZadminPass = nil
  509.  
  510. else
  511.  
  512. EadminPass = (EadminPass+0)
  513.  
  514. ZadminPass = ((OadminPass/EadminPass)/EadminPass)
  515.  
  516. if ZadminPass == EadminPass then
  517.  
  518. print("")
  519.  
  520. TC(32)
  521.  
  522. print("Access granted!")
  523.  
  524. shell.run("edit mob_server")
  525. CP(1,18)
  526.  
  527. OadminPass = nil
  528. EadminPass = nil
  529. ZadminPass = nil
  530.  
  531. else
  532.  
  533. ZadminPass = ((476584517287996928/EadminPass)/EadminPass)
  534.  
  535. if ZadminPass == EadminPass then
  536.  
  537. break
  538.  
  539. end
  540.  
  541. print("")
  542.  
  543. TC(16384)
  544.  
  545. print("Access denied!")
  546.  
  547. OadminPass = nil
  548. EadminPass = nil
  549. ZadminPass = nil
  550.  
  551. end
  552.  
  553. end
  554.  
  555. elseif eingabe == "shutdown" then
  556.  
  557. print("")
  558.  
  559. TC(32)
  560.  
  561. print("System shutdown!")
  562.  
  563. os.shutdown()
  564.  
  565. elseif eingabe == "reboot" then
  566.  
  567. print("")
  568.  
  569. TC(32)
  570.  
  571. print("System reboot!")
  572.  
  573. os.reboot()
  574.  
  575. elseif eingabe == "mob_is_server" then
  576.  
  577. print("")
  578.  
  579. TC(1)
  580.  
  581. if IsMOBonVAR == true then
  582.  
  583. print("Server is online!")
  584.  
  585. else
  586.  
  587. print("Server is offline!")
  588.  
  589. end
  590.  
  591. else
  592.  
  593. print("")
  594.  
  595. TC(16384)
  596. print("The command was not found: '"..eingabe.."'")
  597.  
  598. end
  599.  
  600. end
  601.  
  602. end
  603.  
  604. ---------------------------
  605.  
  606. function MOB()
  607.  
  608.  
  609. while true do
  610.  
  611. anfrage = nil
  612. saveID = nil
  613. OLDuserID = nil
  614. userID = nil
  615. nameTOtrans = nil
  616. valTOtrans = nil
  617. fileData = nil
  618.  
  619. OLDuserID, anfrage, saveID = rednet.receive()
  620.  
  621. if not (userID == nil) or not (anfrage == nil) or not (saveID == nil) then
  622.  
  623. if LogTRUE == true then
  624.  
  625. LogWriter("##--##--##--##")
  626. LogWriter("userID : "..OLDuserID)
  627. LogWriter("anfrage : "..anfrage)
  628. LogWriter("saveID : "..saveID)
  629.  
  630. end
  631.  
  632. --'schleife' mit Abfragen
  633.  
  634. if anfrage == "login" then
  635.  
  636. rednet.send(OLDuserID, "login", saveID)
  637.  
  638. userID, name = rednet.receive(saveID, 0.3)
  639. userID, pass = rednet.receive(saveID, 0.3)
  640.  
  641. if name == nil or name == "" then
  642.  
  643. name = "####"
  644.  
  645. end
  646.  
  647. file = fs.open(".mob/userdata","r")
  648. local fileData = {}
  649. local line = file.readLine()
  650. repeat
  651. table.insert(fileData,line)
  652. line = file.readLine()
  653. until line == nil
  654. file.close()
  655.  
  656. C = 0
  657.  
  658. while true do
  659.  
  660. C = (C+1)
  661.  
  662. if fileData[C] == name then
  663.  
  664. pass = tonumber(pass)
  665.  
  666. if pass == nil then
  667.  
  668. rednet.send(OLDuserID, "error:wrong_format", saveID)
  669.  
  670. break
  671.  
  672. else
  673.  
  674. pass = (pass+0)
  675.  
  676. if pass == (((fileData[(C+1)])/pass)/pass) then
  677.  
  678. guthaben = fileData[(C+2)]
  679.  
  680. rednet.send(OLDuserID, "true", saveID)
  681. rednet.send(OLDuserID, guthaben, saveID)
  682.  
  683. break
  684.  
  685. else
  686.  
  687. rednet.send(OLDuserID, "false", saveID)
  688.  
  689. break
  690.  
  691. end
  692.  
  693. end
  694.  
  695. end
  696.  
  697. if fileData[C] == nil or fileData[C] == "" then
  698.  
  699. rednet.send(OLDuserID, "false", saveID)
  700.  
  701. break
  702.  
  703. end
  704.  
  705. end
  706. end
  707.  
  708. if anfrage == "trans" then
  709.  
  710. rednet.send(OLDuserID, "trans", saveID)
  711.  
  712. userID, name = rednet.receive(saveID, 0.3)
  713. userID, pass = rednet.receive(saveID, 0.3)
  714.  
  715. if name == nil or name == "" then
  716.  
  717. name = "####"
  718.  
  719. end
  720.  
  721. file = fs.open(".mob/userdata","r")
  722. local fileData = {}
  723. local line = file.readLine()
  724. repeat
  725. table.insert(fileData,line)
  726. line = file.readLine()
  727. until line == nil
  728. file.close()
  729.  
  730. C = 0
  731.  
  732. while true do
  733.  
  734. C = (C+1)
  735.  
  736. if fileData[C] == name then
  737.  
  738. pass = tonumber(pass)
  739.  
  740. if pass == nil then
  741.  
  742. rednet.send(OLDuserID, "error:wrong_format", saveID)
  743.  
  744. break
  745.  
  746. else
  747.  
  748. pass = (pass+0)
  749.  
  750. if pass == (((fileData[(C+1)])/pass)/pass) then
  751.  
  752. guthaben = fileData[(C+2)]
  753.  
  754. guthaben = (guthaben+0)
  755.  
  756. oldC = C
  757.  
  758. rednet.send(OLDuserID, "true", saveID)
  759.  
  760. userID, nameTOtrans = rednet.receive(saveID, 0.3)
  761. userID, valTOtrans = rednet.receive(saveID, 0.3)
  762.  
  763. valTOtrans = tonumber(valTOtrans)
  764.  
  765. if valTOtrans == nil then
  766.  
  767. valTOtrans = -1
  768.  
  769. end
  770.  
  771. if nameTOtrans == "" or nameTOtrans == nil or valTOtrans == "" or valTOtrans == nil then
  772.  
  773. rednet.send(OLDuserID, "error:wrong_name_or_transval", saveID)
  774.  
  775. else
  776.  
  777. file = fs.open(".mob/userdata","r")
  778. local fileData = {}
  779. local line = file.readLine()
  780. repeat
  781. table.insert(fileData,line)
  782. line = file.readLine()
  783. until line == nil
  784. file.close()
  785.  
  786. C = 0
  787.  
  788. while true do
  789.  
  790. C = (C+1)
  791.  
  792. if fileData[C] == nameTOtrans then
  793.  
  794. valTOtrans = (valTOtrans+0)
  795.  
  796. if valTOtrans <= guthaben and valTOtrans > 0 then
  797.  
  798. fileData[(C+2)] = ((fileData[(C+2)])+valTOtrans)
  799.  
  800. fileData[(oldC+2)] = ((fileData[(oldC+2)])-valTOtrans)
  801.  
  802. C = 0
  803.  
  804.  
  805.  
  806. while true do
  807.  
  808. C = (C+1)
  809.  
  810. if C == 1 and not ((fileData[C]) == nil) then
  811.  
  812. local file = fs.open(".mob/userdata", "w")
  813. file.writeLine(fileData[C])
  814. file.close()
  815.  
  816. else
  817.  
  818. if not ((fileData[C]) == nil) then
  819.  
  820. local file = fs.open(".mob/userdata", "a")
  821. file.writeLine(fileData[C])
  822. file.close()
  823.  
  824. else
  825.  
  826. break
  827.  
  828. end
  829.  
  830. end
  831.  
  832. end
  833.  
  834.  
  835.  
  836. rednet.send(OLDuserID, "true", saveID)
  837.  
  838. LogWriter("##--##--##--##")
  839. LogWriter("TRANS.")
  840. LogWriter("userID :"..OLDuserID)
  841. LogWriter("Menge :"..valTOtrans)
  842. LogWriter("Von Konto :"..name)
  843. LogWriter("Guthaben (neu):"..((fileData[(oldC+2)])-valTOtrans))
  844. LogWriter("Zum Konto :"..nameTOtrans)
  845. LogWriter("Guthaben (neu):"..((fileData[(oldC+2)])-valTOtrans))
  846.  
  847. break
  848.  
  849. else
  850.  
  851. rednet.send(OLDuserID, "error:big_deal", saveID)
  852. break
  853.  
  854. end
  855.  
  856. end
  857.  
  858. if fileData[C] == nil or fileData[C] == "" then
  859.  
  860. rednet.send(OLDuserID, "error:wrong_account", saveID)
  861. break
  862.  
  863. end
  864.  
  865. end
  866.  
  867. end
  868.  
  869.  
  870. break
  871.  
  872. else
  873.  
  874. rednet.send(OLDuserID, "false", saveID)
  875.  
  876. break
  877.  
  878. end
  879.  
  880. end
  881.  
  882. end
  883.  
  884. if fileData[C] == nil or fileData[C] == "" then
  885.  
  886. rednet.send(OLDuserID, "false", saveID)
  887.  
  888. break
  889.  
  890. end
  891.  
  892. end
  893. end
  894.  
  895. end
  896. end
  897. end
  898.  
  899. function IsMOBon()
  900.  
  901. while true do
  902.  
  903. sleep(0.2)
  904.  
  905. if IsMOBonVAR == false then
  906.  
  907. break
  908.  
  909. end
  910.  
  911. end
  912.  
  913. end
  914.  
  915. function IsMOBonMAIN()
  916.  
  917. while true do
  918.  
  919. sleep(0.2)
  920.  
  921. if IsMOBonVAR == true then
  922.  
  923. parallel.waitForAny(IsMOBon, MOB)
  924.  
  925. end
  926.  
  927. end
  928.  
  929. end
  930.  
  931. parallel.waitForAny(IsMOBonMAIN, Console)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement