Jump to content




MineBox-Inter Server Item Storage


  • You cannot reply to this topic
29 replies to this topic

#1 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 18 March 2013 - 09:08 PM

Hi everyone!

Recently, I have come up with a way to transfer items between servers using CC. Currently, it is just a concept that I hope will become a reality with the help of everyone on the forums.

With the system that I am imagining, there will be three parts to it:
1.The client that is the user interface for the whole system.
2.The local authentication server, that will process deposit and withdrawals.
3.The web server that will store the data such as your username, password and what you own.

You can deposit by putting items into an enderchest at a client terminal. The local server will take the item out of the enderchest, check its item ID with an interactive sorter, add it to the online database, then incinerate the item.

When you withdraw an item, your request would go to the local server, where it would check your resources. If you had enough, it would take away that amount from the database and use a command block to "give" it to you.

I hope you all agree that this is a very cool concept.

What it will look like:
Spoiler

Builds:
Spoiler

Ideas:
Spoiler

Credits:
Spoiler

Side notes:
1.The system has to be set up by an op on the server, as it uses command blocks.
2.I plan on adding a system for ops on that server to be able to check its users online inventories, to prevent importing stacks of diamond from a creative world.

#2 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 18 March 2013 - 10:07 PM

When I first saw this I thought it was yet another cloud based file thingy. But this is actually a really good idea. The hard part is trying to convince server admins to use it.

#3 GravityScore

  • Members
  • 796 posts
  • LocationLand of Meh

Posted 19 March 2013 - 12:35 AM

I think this is a really cool concept, and could be very useful for players who come to a new server and don't want to start with absolutely nothing, but continue where they left off from another server.

One thing I think you need to look at is that there is currently nothing stopping a player setting up the command block system in a creative, single player world and just uploading a tonne of items to use on a server. Considering servers are quite large, you could perhaps implement an authentication system that requires the server to have their own personal serial number for the system, which could be tied to a particular IP address, and every server that wants to use the system can request a serial number from you. You could only then use the software if the request with a serial number is coming from that IP.

#4 superaxander

  • Members
  • 609 posts
  • LocationHolland

Posted 19 March 2013 - 12:53 AM

That's one awesome idea

#5 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 19 March 2013 - 10:14 AM

View PostGravityScore, on 19 March 2013 - 12:35 AM, said:

I think this is a really cool concept, and could be very useful for players who come to a new server and don't want to start with absolutely nothing, but continue where they left off from another server.

One thing I think you need to look at is that there is currently nothing stopping a player setting up the command block system in a creative, single player world and just uploading a tonne of items to use on a server. Considering servers are quite large, you could perhaps implement an authentication system that requires the server to have their own personal serial number for the system, which could be tied to a particular IP address, and every server that wants to use the system can request a serial number from you. You could only then use the software if the request with a serial number is coming from that IP.

Yea, I think this is really clever. You could do something similar to an API key. I might give it a shot.

#6 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 20 March 2013 - 12:41 AM

An idea is an idea...

I would really like this to be a community project where we all contribute to help make the (future) code better and better.

#7 superaxander

  • Members
  • 609 posts
  • LocationHolland

Posted 20 March 2013 - 01:05 AM

How would we protect it so that when someone is op on a server and not on the other. He/she could get her cheated in items on the server where h/she isn't op.

#8 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 20 March 2013 - 01:16 AM

We could add a blacklist to the system eventually so that you have to register before you can take stuff out.

#9 Mailmanq!

  • Members
  • 123 posts
  • LocationI am omnipresent... DUH

Posted 20 March 2013 - 02:02 AM

View Postamtra5, on 20 March 2013 - 01:16 AM, said:

I am going to add a blacklist to the system eventually so that you have to register before you can take stuff out.

Blacklist? Blacklist is like everyone but the blacklist.

How can you verify somebody actually sending a false command and the program sending a real command. If I looked at the code, then found the URL and post data I could give false items.

#10 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 20 March 2013 - 02:18 AM

View Postmailmanq, on 20 March 2013 - 02:02 AM, said:

How can you verify somebody actually sending a false command and the program sending a real command. If I looked at the code, then found the URL and post data I could give false items.
I can think of one way to actually tell if the request is coming from ComputerCraft. its still hackable/spoofable, but it adds an extra layer that not everyone can do.

#11 PixelToast

  • Signature Abuser
  • 2,265 posts
  • Location3232235883

Posted 20 March 2013 - 03:44 AM

View Postmailmanq, on 20 March 2013 - 02:02 AM, said:

View Postamtra5, on 20 March 2013 - 01:16 AM, said:

I am going to add a blacklist to the system eventually so that you have to register before you can take stuff out.

Blacklist? Blacklist is like everyone but the blacklist.

How can you verify somebody actually sending a false command and the program sending a real command. If I looked at the code, then found the URL and post data I could give false items.
a password
you can also modify the http api to prevent anyone from accessing it

#12 Jan

  • Members
  • 141 posts
  • Locationthe Netherlands

Posted 20 March 2013 - 09:41 AM

Maybe you should first try to make such system work on just one server, but it is a great idea!
For the Deposit/Withdraw machine, you could use the new /testfor command in commandblocks to verify that a person is who he says.

#13 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 20 March 2013 - 10:14 AM

You could keep record of every transaction, and make them undoable.

#14 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 20 March 2013 - 06:18 PM

Hopefully I can post some "framework" code later today

#15 superaxander

  • Members
  • 609 posts
  • LocationHolland

Posted 20 March 2013 - 07:52 PM

You could still go in creative spawn some items and put them in.

#16 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 20 March 2013 - 08:36 PM

Added Screenshots :)

#17 amtra5

  • Members
  • 166 posts
  • LocationMelbourne, Australia

Posted 20 March 2013 - 09:55 PM

First test build for server on pastebin! Please post improvements for my current code, it would help a lot!

#18 immibis

    Lua God

  • Members
  • 1,033 posts
  • LocationWellington, New Zealand

Posted 21 March 2013 - 05:03 PM

View Postsuperaxander, on 20 March 2013 - 07:52 PM, said:

You could still go in creative spawn some items and put them in.
Which is why they wouldn't give creative servers an API key, duh.

#19 Mailmanq!

  • Members
  • 123 posts
  • LocationI am omnipresent... DUH

Posted 21 March 2013 - 05:29 PM

How will it deal with items that don't exist, like if a server lacks a mod, the player would lose that item but not actually get it, eh, no program can be truly idiot proof. Also a neat feature would be banned items, so if one server lava buckets banned, you can't get them from another one.

View PostPixelToast, on 20 March 2013 - 03:44 AM, said:

a password
you can also modify the http api to prevent anyone from accessing it

Modify the HTTP api, work around, don't install the HTTP API, also I was stupid and didn't think a password for a server.

#20 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 21 March 2013 - 06:27 PM

Yea, to make this work with out failing you'd need to make it very secure and tight.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users