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]]''