Auctions and offers
Guide for listing types that use a bank deposit. Who may bid is set per listing (bidAccess).
1. Choose listing type
When creating or listing a property, set saleType:
| Type | Player action | Settlement |
|---|---|---|
normal | Buy now | Immediate purchase |
offer | Place offer | Owner/staff accepts one offer |
auction | Place bid | Highest bid wins when timer ends |
bidAccess:
| Value | Who may bid / offer |
|---|---|
anyone | Any player who can open the market |
realtor_required | Housing staff only |
2. List an offer property
- Open realtor tablet (or owner tools if public) → property profile.
- List for sale with type
offerand a start price. - Optional: set
depositPercent/bidAccess(else config defaults). - Confirm the card appears under market For Sale.
3. Player — place an offer
- Open the listing → Place offer → enter amount.
- Deposit charged:
amount * depositPercentfrom bank. - Wait for accept / reject.
4. Owner / staff — accept or reject
- Open the listing (market or realtor profile).
- Accept an offer:
- Remaining balance charged to buyer (must be online).
- Ownership transferred; seller / commission paid.
- Other offer deposits refunded; listing cleared.
- Reject → that bidder’s deposit refunded only.
Export: PlaceOffer.
5. List an auction
- List with
saleType = "auction". - Set duration (hours) → server writes
auctionEndsAt. - Optional:
minIncrement,depositPercent,bidAccess. - Confirm it appears under market Auctions.
6. Player — place a bid
- Open Auctions → listing → Place bid.
- Amount must beat current high +
minIncrement(or start price if none). - Deposit charged; previous high bidder’s deposit refunded.
Export: PlaceAuctionBid.
7. Auction end (automatic)
- When
auctionEndsAtis reached, the server settles:- Winner pays remaining balance (deposit already held).
- Seller / commission paid; ownership transferred.
- Losing deposits refunded; listing cleared.
- If there are no bids → listing is removed.
Listing fields (reference)
lua
{
startPrice = 150000,
saleType = "normal" | "offer" | "auction",
depositPercent = 0.1,
bidAccess = "anyone" | "realtor_required",
description = "Optional text",
minIncrement = 1000,
auctionEndsAt = unixSeconds,
auctionStartedAt = unixSeconds,
}