Guest User

Untitled

a guest
Jul 12th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.90 KB | None | 0 0
  1. --Server
  2. -- Functions
  3.  
  4. function continue()
  5. print("scanning 2")
  6. from,rp2=rednet.receive(5)
  7. sleep(1)
  8. print("scanning 3")
  9. from,rp3=rednet.receive(5)
  10. sleep(1)
  11. print("scanning 4")
  12. from,rp4=rednet.receive(5)
  13. if rp1=="login" then login()
  14. elseif rp1=="register" then userreg()
  15. elseif rp1=="shutdown" then ashutdown()
  16. elseif rp1=="userdel" then userdel()
  17. elseif rp1=="usercpass" then usercpass()
  18. elseif rp1=="reboot" then reboot()
  19. elseif rp1=="test" then test()
  20. elseif rp1=="print" then print()
  21. elseif rp1=="reset" then reset()
  22. end
  23. end
  24.  
  25. function print()  
  26. print(rp3, ":", rp2) -- line 25
  27. end
  28.  
  29. function test()
  30. print("recieved test")
  31. rednet.broadcast("test")
  32. end
  33.  
  34. function reset()
  35. print("resetting")
  36. fs.delete("users/admin")
  37. fs.makeDir("users/admin")
  38. fs.makeDir("users/admin/" .. rp2)
  39. fs.makeDir("users/admin/priv")
  40. fs.makeDir("users/admin/priv/superuser")
  41. print("admin password set with privalege superuser remotely")
  42. end
  43.  
  44. function reboot()
  45. print("rebooting")
  46. os.reboot()
  47. end
  48.  
  49. function usercpass()
  50. if fs.exists("users/" .. rp2) and fs.exists("users/" .. rp2 .. "/" .. rp3) then
  51. fs.delete("users/" .. rp2 .. "/" .. rp3)
  52. fs.makeDir("users/" .. rp2 .. "/" .. rp4)
  53. print("successfully change password for user ", rp2)
  54. rednet.broadcast("success")
  55. else
  56. rednet.broadcast("exists")
  57. end
  58. end
  59.  
  60. function userdel()
  61. if fs.exists("users/".. rp2) then
  62. fs.delete("users/".. rp2)
  63. print("deleted user")
  64. rednet.broadcast("success")
  65. else
  66. rednet.broadcast("exists")
  67. end
  68. end
  69.  
  70. function loginpriv()
  71. print(rp2, " found. sending admin login codes")
  72. sleep(2)
  73. rednet.broadcast(rp1)
  74. sleep(2)
  75. rednet.broadcast(rp2)
  76. sleep(2)
  77. rednet.broadcast(rp4)
  78. sleep(2)
  79. rednet.broadcast("superuser")
  80. print(rp2, ":", rp4, ":", "superuser:has logged in")
  81. end
  82.  
  83. function loginnorm()
  84. if fs.exists("users/" .. rp2 .. "/" .. rp3) then
  85. print(rp2, " found. sending norm login codes")
  86. sleep(2)
  87. rednet.broadcast(rp1)
  88. sleep(2)
  89. rednet.broadcast(rp2)
  90. sleep(2)
  91. rednet.broadcast(rp4)
  92. sleep(2)
  93. rednet.broadcast("norm")
  94. print(rp2, ":", rp4, ":", "norm:has logged in")
  95. end
  96. end
  97.  
  98. function loginbad()
  99. sleep(2)
  100. rednet.broadcast("bad")
  101. sleep(2)
  102. rednet.broadcast("bad")
  103. sleep(2)
  104. rednet.broadcast("bad")
  105. sleep(2)
  106. rednet.broadcast("bad")
  107. print(rp2, ": Bad Login")
  108. end
  109.  
  110. function login()
  111. if fs.exists("users/" .. rp2 .. "/" .. rp3) then
  112. if fs.exists("users/" .. rp2 .. "/priv/superuser") then
  113. loginpriv()
  114. elseif fs.exists("users/" .. rp2 .. "/" .. rp3) then
  115. loginnorm()
  116. else
  117. loginbad()
  118. end
  119. end
  120. end
  121.  
  122. function ashutdown()
  123. if fs.exists("users/" .. rp2 .. "/priv/superuser") then
  124. print("shutting down")
  125. sleep(2)
  126. os.shutdown()
  127. else
  128. print("attempt to shutdown failed due to wrong pass")
  129. end
  130. end
  131.  
  132. function restart()
  133. end
  134.  
  135. function userreg()
  136. if fs.exists("users/".. rp2) then
  137. print("user already exists")
  138. rednet.broadcast("exists")
  139. else
  140. print("registering user: ", rp2)
  141. fs.makeDir("users/" .. rp2)
  142. fs.makeDir("users/" .. rp2 .. "/" .. rp3)
  143. fs.makeDir("users/" .. rp2 .. "/priv/")
  144. fs.makeDir("users/" .. rp2 .. "/priv/" .. rp4)
  145. sleep(2)
  146. rednet.broadcast("done")
  147. print("Registered")
  148. end
  149. end
  150.  
  151. --Loop Program
  152. print("Starting CraftOs Server Program By Alex_")
  153. print("which side is the modem?")
  154. modem=read()
  155. print("Admin password for session")
  156. apass=read()
  157. fs.delete("users/admin")
  158. fs.makeDir("users/admin")
  159. fs.makeDir("users/admin/" .. apass)
  160. fs.makeDir("users/admin/priv")
  161. fs.makeDir("users/admin/priv/superuser")
  162. print("password set with privalege superuser")
  163. sleep(1)
  164. rednet.open(modem)
  165. term.clear()
  166. term.setCursorPos(1,1)
  167. print("Server Started")
  168. print("Click CTRL For Console")
  169. print("===============================================")
  170. while true do
  171. print("scanning 1")
  172. from,rp1=rednet.receive(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)
  173. if rp1=="login" then continue()
  174. elseif rp1=="register" then continue()
  175. elseif rp1=="shutdown" then continue()
  176. elseif rp1=="userdel" then continue()
  177. elseif rp1=="usercpass" then continue()
  178. elseif rp1=="reboot" then continue()
  179. elseif rp1=="test" then continue()
  180. elseif rp1=="print" then continue()
  181. elseif rp1=="reset" then continue()
  182. end
  183. end
  184.  
  185. --Client
  186. term.clear()
  187. term.setCursorPos(1,1)
  188. print("Welcome to CraftOs server client program")
  189. print("By Alex_")
  190. print("Starting Up")
  191. fs.delete("OS/session/user")
  192. sleep(1)
  193. print("Success")
  194. sleep(2)
  195. term.clear()
  196. term.setCursorPos(1,1)
  197. print("Login to Network")
  198. print("===============================================")
  199. print("Username")
  200. local sp2=read()
  201. print("password")
  202. local sp3=read()
  203. print("Computer ID number (only last's a session)")
  204. local sp4=read()
  205. term.clear()
  206. term.setCursorPos(1,1)
  207. print("Opening RedNet")
  208. rednet.open("right")
  209. print("Communicating With Server")
  210. rednet.broadcast("login")
  211. sleep(2)
  212. rednet.broadcast(sp2)
  213. sleep(2)
  214. rednet.broadcast(sp3)
  215. sleep(2)
  216. rednet.broadcast(sp4)
  217. while true do
  218. from,rp1=rednet.receive(60)
  219. sleep(1)
  220. from,rp2=rednet.receive(60)
  221. sleep(1)
  222. from,rp4=rednet.receive(60)
  223. sleep(1)
  224. from,priv=rednet.receive(60)
  225. sleep(1)
  226. if rp1=="login" and rp2==sp2 and rp4==sp4 then
  227. print("Writing Session Files")
  228. fs.makeDir("OS/session/user/" .. rp2)
  229. fs.makeDir("OS/session/user/" .. rp2 .. "/priv/")
  230. fs.makeDir("OS/session/user/" .. rp2 .. "/priv2/")
  231. fs.makeDir("OS/session/user/" .. rp2 .. "/priv/" .. priv)
  232. fs.makeDir("OS/session/user/" .. rp2 .. "/priv2/" .. priv)
  233. print("logging in")
  234. sleep(1)
  235. term.clear()
  236. term.setCursorPos(1,1)
  237. print("logged in as ", rp2, ":", priv)
  238. print("===============================================")
  239. break
  240. else
  241. term.clear()
  242. term.setCursorPos(1,1)
  243. print("Bad Login/Server Offline")
  244. print("Shutting Down")
  245. sleep(3)
  246. os.shutdown()
  247. end
  248. end
  249.  
  250.  
  251. --server console for client
  252. --Note (Do user priv command)
  253.  
  254. --functions
  255.  
  256. function main()
  257. term.clear()
  258. term.setCursorPos(1,1)
  259. print("Server Console")
  260. print("===============================================")
  261. main2()
  262. end
  263.  
  264. function main2()
  265. print("#SUPERUSER:", user, ":")
  266. command=read()
  267. if command=="user" then
  268. print("Usage: user command")
  269. main2()
  270. elseif command=="help" then help()
  271. elseif command=="user register" then userreg()
  272. elseif command=="user help" then userhelp()
  273. elseif command=="user del" then userdel()
  274. elseif command=="user cpass" then usercpass()
  275. elseif command=="server" then
  276. print("Usage: server command")
  277. elseif command=="server shutdown" then servershutdown()
  278. elseif command=="server print" then serverprint()
  279. elseif command=="server reboot" then serverreboot()
  280. elseif command=="server reset" then serverreset()
  281. elseif command=="server test" then servertest()
  282. elseif command=="server help" then serverhelp()
  283. elseif command=="exit" then exit()
  284. else
  285. print("command unknown")
  286. main2()
  287. end
  288. end
  289.  
  290. function serverprint()
  291. print("please type what you wish to send")
  292. print=read()
  293. print("printing on server")
  294. rednet.broadcast("print")
  295. sleep(2)
  296. rednet.broadcast(print)
  297. sleep(2)
  298. rednet.broadcast(user)
  299. sleep(2)
  300. rednet.broadcast("null")
  301. sleep(2)
  302. main2()
  303. end
  304.  
  305. function serverreboot()
  306. print("rebooting server")
  307. rednet.broadcast("reboot")
  308. sleep(2)
  309. rednet.broadcast("null")
  310. sleep(2)
  311. rednet.broadcast("null")
  312. sleep(2)
  313. rednet.broadcast("null")
  314. main2()
  315. end
  316.  
  317. function serverreset()
  318. print("are you sure you want to reset the server? 'Y' or 'N'")
  319. print("Warning: This will remove all users")
  320. option=read()
  321. if option=="n" or option=="N" then
  322. main2()
  323. elseif option=="y" or option=="Y" then
  324. print("Admin password for session")
  325. adminpass=read()
  326. print("reseting")
  327. rednet.broadcast("reset")
  328. sleep(2)
  329. rednet.broadcast(adminpass)
  330. sleep(2)
  331. rednet.broadcast("null")
  332. sleep(2)
  333. rednet.broadcast("null")
  334. sleep(2)
  335. end
  336.  
  337. function servertest()
  338. print("testing server")
  339. rednet.broadcast("test")
  340. sleep(2)
  341. rednet.broadcast("null")
  342. sleep(2)
  343. rednet.broadcast("null")
  344. sleep(2)
  345. rednet.broadcast("null")
  346. sleep(2)
  347. from,test = rednet.receive(10)
  348. if test=="test" then
  349. print("test ok")
  350. main2()
  351. end
  352.  
  353. function usercpass()
  354. print("Change password:")
  355. print("Username")
  356. cuser=read()
  357. print("old password")
  358. cpassword=read()
  359. print("new password")
  360. ccpassword=read()
  361. print("Changing Password")
  362. rednet.broadcast("usercpass")
  363. sleep(1)
  364. rednet.broadcast(cuser)
  365. sleep(1)
  366. rednet.broadcast(cpassword)
  367. sleep(1)
  368. rednet.broadcast(ccpassword)
  369. print("sent")
  370. print("checking")
  371. from,confirm = rednet.receive(10)
  372. if confirm=="success" then
  373. print("Successfully Changed Password")
  374. sleep(5)
  375. main()
  376. elseif confirm=="exists" then
  377. print("Does not exist/ Wrong password")
  378. main2()
  379. else print("error please check domain server")
  380. main2()
  381. end
  382. end
  383.  
  384. function userpriv()
  385. print("Delete User:")
  386. print("Username")
  387. deluser=read()
  388. print("Deleting")
  389. rednet.broadcast("userdel")
  390. sleep(1)
  391. rednet.broadcast(deluser)
  392. sleep(1)
  393. rednet.broadcast("null")
  394. sleep(1)
  395. rednet.broadcast("null")
  396. print("sent")
  397. print("checking")
  398. from,confirm = rednet.receive(10)
  399. if confirm=="success" then
  400. print("Successfully Deleted")
  401. sleep(5)
  402. main()
  403. elseif confirm=="exists" then
  404. print("Does not exist")
  405. main2()
  406. else print("error please check domain server")
  407. main2()
  408. end
  409. end
  410.  
  411. function userdel()
  412. print("Delete User:")
  413. print("Username")
  414. deluser=read()
  415. print("Deleting")
  416. rednet.broadcast("userdel")
  417. sleep(1)
  418. rednet.broadcast(deluser)
  419. sleep(1)
  420. rednet.broadcast("null")
  421. sleep(1)
  422. rednet.broadcast("null")
  423. print("sent")
  424. print("checking")
  425. from,confirm = rednet.receive(10)
  426. if confirm=="success" then
  427. print("Successfully Deleted")
  428. sleep(5)
  429. main()
  430. elseif confirm=="exists" then
  431. print("Does not exist")
  432. main2()
  433. else print("error please check domain server")
  434. main2()
  435. end
  436. end
  437.  
  438.  
  439. function help()
  440. print("")
  441. print("List of commands")
  442. print("server")
  443. print("user")
  444. print("exit")
  445. print("")
  446. main2()
  447. end
  448.  
  449. function userhelp()
  450. print("")
  451. print("List of commands for user")
  452. print("register - To register a new user")
  453. print("del - To delete a user")
  454. print("cpass - Change the password of a user")
  455. print("priv - Change the privilege of user")
  456. print("help - a list of commands for user")
  457. print("")
  458. main2()
  459. end
  460.  
  461. function serverhelp()
  462. print("")
  463. print("List of command for server")
  464. print("print - send a message to appear on the server")
  465. print("test - test the connection with the server")
  466. print("shutdown - Shutdown the server")
  467. print("reboot - reboot the server")
  468. print("hard reset - resets the server to default setting and removing all users")
  469. print("help - a list of commands for server")
  470. end
  471.  
  472. function exit()
  473. term.clear()
  474. term.setCursorPos(1,1)
  475. print("Exiting Console")
  476. sleep(2)
  477. end
  478.  
  479. function user()
  480. print("Usage: user command")
  481. main()
  482. end
  483.  
  484. function userreg()
  485. print("Register a new user")
  486. print("Username")
  487. reguser=read()
  488. print("Password")
  489. regpassword=read()
  490. print("Type 'superuser' or 'norm'")
  491. print("*superuser - This is an admin")
  492. print("*norm - This is a normal User")
  493. print("note do not use capitals")
  494. regtype=read()
  495. print("registering")
  496. rednet.broadcast("register")
  497. sleep(1)
  498. rednet.broadcast(reguser)
  499. sleep(1)
  500. rednet.broadcast(regpassword)
  501. sleep(1)
  502. rednet.broadcast(regtype)
  503. print("sent")
  504. print("checking")
  505. from,confirm = rednet.receive(10)
  506. if confirm=="done" then
  507. print("Successfully registered")
  508. print("Username: ", reguser)
  509. print("Password: ", regpassword)
  510. sleep(5)
  511. main()
  512. elseif confirm=="exists" then
  513. print("Already Registered!!")
  514. main2()
  515. else print("error please check domain server")
  516. main2()
  517. end
  518. end
  519.  
  520. function servershutdown()
  521. rednet.broadcast("shutdown")
  522. sleep(1)
  523. rednet.broadcast(user)
  524. sleep(1)
  525. rednet.broadcast("null")
  526. sleep(1)
  527. rednet.broadcast("null")
  528. end
  529.  
  530. --program
  531. term.clear()
  532. term.setCursorPos(1,1)
  533. print("Server Console")
  534. print("===============================================")
  535. print("confirm username")
  536. user=read()
  537. print("checking")
  538. sleep(1)
  539. print("accessing superuser")
  540. sleep(1)
  541. if fs.exists("OS/session/user/" .. user .. "/priv/superuser") then
  542. if fs.exists("OS/session/user/" .. user .. "/priv2/superuser") then
  543. main()
  544. else
  545. term.clear()
  546. print("access denied")
  547. end
  548. end
Add Comment
Please, Sign In to add comment