Sh-housing | Complete Property, Realtor, Furniture & Hotel System (VORP/RSG)

[PAIDsh-housing (VORP/RSG)

:house: Overview

sh-housing is a server-authoritative RedM housing resource built for VORP and RSG with one shared codebase and framework auto-detection.

This package covers full property lifecycle management, furniture placement/wallet workflows, hotel contracts, realtor/admin operations, and door/storage integration.


:sparkles: Features

:houses: Property + Contract System

  • Buy / Rent / Finance property contracts.
  • Contract termination flow with ownership clear.
  • Rent billing cycles, grace windows, late fee support, auto-evict options.
  • Finance down payment + installment flow with auto-repossess options.
  • Character-based ownership limits.

:necktie: Realtor + Management

  • Realtor job grade permissions for create/publish/sell/unpublish/delete.
  • Realtor contract brokerage controls.
  • Realtor management panel (hire/fire/ledger/history controls via config).
  • Property publishing/unpublishing and full property CRUD workflow.

:chair: Furniture System

  • Furniture store command/prompt with world locations.
  • Property furniture placement with server-side anti-abuse validation.
  • Character-based furniture wallet.
  • Wallet sell-back and remove actions.
  • Placed furniture removal with wallet restore flow.
  • Optional old-owner furniture wipe on owner loss (Config.RemovePrevOwnerFurniture).

:hotel: Hotel System

  • Hotel check-in/check-out contract flow.
  • Hotel expiry/grace handling.
  • Hotel storage access checks.
  • Hotel door sync integration.

:door: Doors + Access

  • Door provider support (auto | sh-doorlocks | internal).
  • Per-property access types (owner/manage/key/build/stash).
  • Door state sync and reset handling after contract changes.
  • Optional RSG managed lock compatibility mode.

:brick: Build Zones + Interiors

  • Property boundary polygon support (buildZone.points / propertyLine).
  • Interior-only build restrictions.
  • Interior preset entry/exit support from content files.
  • Shell metadata support for interior model origin/entry/exit behaviors.

:shield: Security + Performance

  • Event cooldown and request-per-minute protections.
  • Distance validation for interactions and property operations.
  • Build placement movement/height/distance checks.
  • Snapshot/furniture cache tuning and batch controls.

:puzzle_piece: Requirements

  • oxmysql
  • One framework:
  • vorp_core or rsg-core
  • Matching inventory:
  • vorp_inventory or rsg-inventory
  • Recommended for full feature set:
  • sh-doorlocks

:file_folder: Resource Structure

From fxmanifest.lua:

ui_page 'ui/index.html'

shared_scripts {
    'config.lua',
    'locales.lua',
    'shared/util.lua',
    'shared/framework.lua'
}

server_scripts {
    '@oxmysql/lib/MySQL.lua',
    'server/services/*.lua',
    'server/main.lua'
}

client_scripts {
    'client/main.lua'
}

:gear: Configuration Overview

config.lua includes:

  • Framework + locale + command settings.
  • Security limits and anti-abuse controls.
  • Realtor permissions and management settings.
  • Economy taxes/rent/finance controls.
  • Furniture store/wallet/runtime settings.
  • Hotel contract and interaction settings.
  • Door provider and lock behavior settings.
  • Target/prompt interaction mode settings.
  • Performance cache/batch tuning.
  • Logging/webhook settings.

:package: Installation

1. Place sh-housing in your resources/[sh]/ folder.
2. Import sql/install.sql.
3. Ensure dependencies start first in server.cfg.
4. Configure config.lua.
5. Ensure no conflicting housing system is running during cutover.
6. Restart server.

Suggested start order:

ensure oxmysql
ensure FRAMEWORK BASE SCRIPTS
ensure sh-doorlocks
ensure sh-housing

:video_game: Default Commands

/house
/realtorhouse
/houseadmin
/furniturestore

:electric_plug: Exports (README.md)

CreateProperty(payload)
UpdateProperty(propertyId, patch)
DeleteProperty(propertyId)
GetProperty(propertyId)
GetProperties(filter)
GrantAccess(propertyId, accessType, subjectType, subjectValue, expiresAt, metadata)
RevokeAccess(accessId)
CreateContract(propertyId, contractType, holderSource, terms)
TerminateContract(contractId, reason)
OpenHouseStash(source, propertyId)

:clapper_board: Preview

YouTube

:shopping_cart: Purchase

Tebex
Tebex2(If above dosent work)

Code is accessible No (Config/Locales/SQL/README accessible)
Subscription-based No
Lines (approximately) 15,000+
Requirements oxmysql + VORP or RSG
Support Yes