Ideas for Stendhal: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Hendrik Brummermann added navigation |
imported>Hendrik Brummermann →Auction System: was implemented talk to NPC Harold in Semos Tavern |
||
| Line 140: | Line 140: | ||
Zenfur |
Zenfur |
||
== Auction System == |
|||
=== short description === |
|||
Idea is based on a combination of in-game and external solutions. NPC is responsible for despositing and withdraving of items/cash. All bidding is done on a regular website. |
|||
=== NPC === |
|||
* NPC responds to "deposit [amount] item_name" and "withdraw [amount] item_name" commands. He updates the database. |
|||
* when those commands are issued, items are either destroyed or created. |
|||
* Less important features: |
|||
** some method of binding in-game user to auction site user. I've come up with a rather elegant solution for my own game. User issues the command to some NPC (not necessarily this one) and is issued a token, which is valid for one use. Next, user provides that token on a website to prove it's him. The website connects to a game server and checks if the code is valid. Token is invalidated afterwards. It's useful in many scenarios - for example you want to create a website where people elect "player of the month", but need to make sure that your website's user really does have a char in stendhal (pair it with some xml stats and you could even require people to be lvl 50+ :) ). |
|||
=== website === |
|||
* people can see their inventory |
|||
* people can place items on auction |
|||
* people can place bids on items |
|||
=== other stuff === |
|||
Obviously there's much more to write about it (like "items have to be locked when they're placed on action, so that players can't withdraw them from the NPC). |
|||
=== pros === |
|||
feel free to add any. |
|||
* it's rather easy to implement. I think I could design the DB and code the php frontend in my spare time. I don't know java, but NPC part seems to be easy. |
|||
=== cons === |
|||
* person controlling the DB could potentially manipulate the DB (for example create items for himself). Two simple solutions come to my mind: |
|||
** trust the bastard. |
|||
** store NPC transactions in 2nd DB as well and check it when stuff is being withdrawed. |
|||
* as hendrik noted on #arrianne, external sites are prone to social attacks ("hey mate, please give me your password, I'll show you something cool"). |
|||
muszek |
|||
I guess that's all. Mail me at muszek {[nospam AT]} gmail dot com . |
|||
: I would prefer a solution with works completely in game without website. Thinks to keep in mind: |
|||
:* only one database, maintaining more than one is to much work and too error prone |
|||
:* server crashes can cause 10 minute resets of some player status |
|||
:* bidder has to have enough money and has to give it away on bidding to prevent him from using it differently before the auction ends. |
|||
:* there is no infrastructure in php to access marauroa objects stored in the database (the hall of fame uses a workaround by storing the statistics :informations redundant in another table, but seems to be a bad idea for real data) |
|||
:: ''This unsigned comment was left by [[User:Hendrik Brummermann]] - don't forget to sign your comments! Thanks, [[User:Kymara|Kymara]]'' |
|||