Monotonous
06-22-2010, 03:51 PM
I have a few projects I'm juggling, but this one will be making its way to the top of my list next week. I'd like to petition some input before I start writing code, so please feel free to comment and suggest.
Summary
- A simple auction interface for online Lich users.
- Allows you to post and bid on auctions which will be visible to other players running the Auction script.
Implementation
- Starting the Auction script will tune you to a private channel aligned to the instance of Gemstone you're playing (Auction_GS4, Auction_GSF, Auction_Plat). Chatter on this channel will be squelched from your game window.
- Once on the channel, your Auction script will broadcast compressed data representing your active auction postings. Other Auction scripts tuned into the channel will create the appropriate postings locally.
- In response to you joining, other auction scripts tuned into the channel will PRIVATE you compressed data representing their active auction postings. Your client will create the appropriate postings locally.
- Auction scripts will monitor online players in the channel. When someone leaves, their postings will be removed locally. If you were the high bidder on one of their auctions, your client will notify you that the auction is suspended until they return.
- BIDding will broadcast the item ID and your bid amount. Clients will update their postings locally. Former high bidders, if online, will be notified.
- POSTing a new auction will broadcast compressed data representing your new auction. Clients will create the appropriate posting locally.
- ENDing an auction will log it and delete it from online clients. The winning bidder, if online, will be notified -- otherwise notification will not take place until both the winner and the seller are online at the same time.
EDIT: Modified some details ---
Persistence peer-to-peer style.
- Every client would maintain the full auction list.
- When a new client joined, the "oldest" client in the channel would update the new client with the full auction list.
- When an auction poster logged in, they would be updated with the progress of their posting.
- Postings of a certain age would eventually die.
This would allow auctions to continue regardless of their owner being online. It would also reduce chatter and bandwidth use.
Clients would maintain a local listing of their active postings. If the server went down, or the channel became empty of users, the "master list" would start filling itself again as people logged back in when each client realized its postings weren't contained in the list.
The Auction Posting
* Category (Service, Equipment, Magic, Skins & Gems, Other)
* Posting Player
* Delivery Location (WL, IM, RR, EN, FWI, etc) - Can be multiple
* Title
* Brief Description
* Unique ID#
Single-Item Sale Option:
* Minimum Bid
* Current Bid
* Current Bidder Player
* Buyout Option
Multi-Item Sale Option:
* Price
* Count Remaining
Concerns
This could potentially become a bit chatty. Tillmen would have to approve, and users should seriously think about sending some kind of monetary consideration his way to help cover extra bandwidth (even if just a little).
Limitations on how many active auctions each player is allowed would also help, as well as banning users from the Auction channel who try to circumvent the limitations.
Habitual bad bidders and bad sellers would be banned from the auction channel.
Summary
- A simple auction interface for online Lich users.
- Allows you to post and bid on auctions which will be visible to other players running the Auction script.
Implementation
- Starting the Auction script will tune you to a private channel aligned to the instance of Gemstone you're playing (Auction_GS4, Auction_GSF, Auction_Plat). Chatter on this channel will be squelched from your game window.
- Once on the channel, your Auction script will broadcast compressed data representing your active auction postings. Other Auction scripts tuned into the channel will create the appropriate postings locally.
- In response to you joining, other auction scripts tuned into the channel will PRIVATE you compressed data representing their active auction postings. Your client will create the appropriate postings locally.
- Auction scripts will monitor online players in the channel. When someone leaves, their postings will be removed locally. If you were the high bidder on one of their auctions, your client will notify you that the auction is suspended until they return.
- BIDding will broadcast the item ID and your bid amount. Clients will update their postings locally. Former high bidders, if online, will be notified.
- POSTing a new auction will broadcast compressed data representing your new auction. Clients will create the appropriate posting locally.
- ENDing an auction will log it and delete it from online clients. The winning bidder, if online, will be notified -- otherwise notification will not take place until both the winner and the seller are online at the same time.
EDIT: Modified some details ---
Persistence peer-to-peer style.
- Every client would maintain the full auction list.
- When a new client joined, the "oldest" client in the channel would update the new client with the full auction list.
- When an auction poster logged in, they would be updated with the progress of their posting.
- Postings of a certain age would eventually die.
This would allow auctions to continue regardless of their owner being online. It would also reduce chatter and bandwidth use.
Clients would maintain a local listing of their active postings. If the server went down, or the channel became empty of users, the "master list" would start filling itself again as people logged back in when each client realized its postings weren't contained in the list.
The Auction Posting
* Category (Service, Equipment, Magic, Skins & Gems, Other)
* Posting Player
* Delivery Location (WL, IM, RR, EN, FWI, etc) - Can be multiple
* Title
* Brief Description
* Unique ID#
Single-Item Sale Option:
* Minimum Bid
* Current Bid
* Current Bidder Player
* Buyout Option
Multi-Item Sale Option:
* Price
* Count Remaining
Concerns
This could potentially become a bit chatty. Tillmen would have to approve, and users should seriously think about sending some kind of monetary consideration his way to help cover extra bandwidth (even if just a little).
Limitations on how many active auctions each player is allowed would also help, as well as banning users from the Auction channel who try to circumvent the limitations.
Habitual bad bidders and bad sellers would be banned from the auction channel.