RE:CORD
REC_Books

Configuration

Welcome to REC_Books documentation.
Added
Updated
FileSettingPurpose
config/sh_config.luaitemsItem names of the blank book and the book
config/sh_config.luabookPage count, title length, and what a new book starts with
config/sh_config.luafonts / stickers / papers / paletteWhat players can place (see Adding content)
config/sh_config.luashareShowing a book to players nearby
config/sh_config.luauiAutosave, undo steps, snapping, motion and sound
config/sh_config.luaanim / prop / cameraThe reading pose, the book in hand and the camera
config/sv_config.lualimitsHow much fits on a page and in a book
config/sv_config.luaimagesWhich hosts pictures may come from
config/sv_config.luarateLimitsCalls per player and action
config/sv_config.luaediting / retentionDaysEdit lock timeout and removal of books nobody opens
config/sv_config.luamoderationWho may moderate, and the Discord webhook for the log
Do not change config.surface once a book exists. It is the size every layer is placed against, so a new value moves or cuts what players already placed.

External images

Players can only place https URLs on a host in config.images.hosts. The default list has i.imgur.com alone, for png / jpg / jpeg / gif / webp files without a query string. Every reader's game loads the picture straight from that host, so only list services you trust.

FieldDefaultMeaning
hosti.imgur.comHost name
subdomainsfalseAlso accept <anything>.host
extensionspng jpg jpeg gif webpThe path must end with one of these. nil accepts any
allowQueryfalseKeep ?query. false refuses URLs that carry one

config.images.enabled = false turns pictures off, and maxUrlLength (512) caps the URL length.

Discord CDN is left out on purpose. Its links carry ex / is / hm and stop working after a while, so the picture would disappear from the page.

Removing a host from the list stops its pictures from showing the next time a book is opened. They leave the database once the author saves that page again. Until then, adding the host back brings them back. A bound book is never saved by its author, so its pictures stay in the database until /bookpurgeimages removes them. Turning enabled off works the same way.

Limits

The server refuses anything above these. The screen gets a copy to warn the player first.

SettingDefaultWhat it counts
layersPerSurface60Layers on one surface
textMaxChars1000Characters in one text layer
textCharsPerSurface4000Characters on one surface
strokesPerDrawing150Strokes in one drawing layer
pointsPerStroke600Points in one stroke
pointsPerSurface3000Points on one surface
imagesPerSurface6Pictures on one surface
imagesPerBook40Pictures in one book
surfaceBytes32 * 1024Stored size of one surface
bookBytes768 * 1024Stored size of one book
booksPerCitizen0Books one character can own. 0 is unlimited

Page counts are in config.book: initialLeaves (8), minLeaves (1) and maxLeaves (24). One leaf is two pages. titleMaxLength is 40.

Motion and sound

config.ui.motion picks how the book opens and turns its pages. config.ui.sound picks the page sound.

motionPage flip / turn (s)Page bend
normal (default)0.5 / 0.355°
journey0.7 / 0.512°
old1.1 / 0.8520°
default0.9 / 0.5512°

default is the motion of the stylesheet itself.

soundPitchVolume
normal (default)1.30.45
journey1.00.6
old0.70.7

audioVolume multiplies the volume of the preset. 0 mutes it.

Other settings

SettingDefaultMeaning
share.radius3.0Metres around the holder
share.maxTargets4Players who get the offer, closest first
share.ticketSeconds300How long the offer can be accepted
ui.autosaveDelay1500ms after the last change before a surface is saved
ui.autosaveMaxWait8000ms at most between two saves while the player keeps editing
ui.historyLimit200Undo steps
ui.snapThreshold6Snap distance in screen pixels
editing.leaseIdleMinutes15Minutes without a request before the edit lock is released
retentionDays0Books nobody opened for this many days are deleted on start and once a day. 0 keeps them forever. The items stay and say the book is missing
moderation.acegroup.adminWho may use the moderation commands
moderation.webhook""Discord webhook for the moderation log. Empty turns it off

Browser moderation

Open http://<host>:30120/REC_Books/ to list books and open their moderation view. Configure config/sv_config.lua → web.http.enabled, allowed addresses and a token. books:read permits listing/reading; books:write permits hiding, clearing, unsealing and deleting books. See REC_Library shared settings for shared tokens. In-game /bookmod continues to use moderation.ace.

©2026 RE:CORD Development Group. All rights reserved.