Ideas for Stendhal/Auction system and marketplace

From Arianne
Jump to navigation Jump to search

This idea has been implemented and this article is only interesting for historic reasons. But it may contain some minor ideas that have not been implemented, yet. Talk to NPC Harold in Semos Tavern.

Ideas for Stendhal

Mostly implemented

Related pages


I got an idea to make a marketplace on an island, make on the main continent cheap teleports to it, and free teleports from it to semos. There would be many stalls to rent by paying some money to boss of marketplace (npc). Then you got a key to your stall. There will be many stalls with a different size, and they would be numbered. In every stall there'll be a NPC and a chest (size depending on the size of the stall) in which you can put items to sell and a blackboard on which you can write what are you selling and prices. The NPC should have a script, which will allow him to identify items in the chest and get prizes from the owner of the stall. Money got from sale should be put in the chest. Chest will have a script which allows it to sum up the same items on 1 slot in a chest (for example 2 shadow armors in 1 slot). Blackboard may be useless if NPCs will be capable of answering questions like "how much is shadow armor?"


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 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+ :) ).


  • 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).


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.


  • 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").


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, Kymara