Files
DarkflameServer/resources/worldconfig.ini
Aaron Kimbrell 6ce261c58c fix: brick by brick and model placement work the way the client expects
Mapped from the 1.10.64 client and live captures (docs/BuildWorkflow.md).

Model placement (PropertyManagementComponent):
- A brick built model placed from the inventory spawned at the world origin
  with no rotation and without PlaceModelResponse/PreCreate, and was saved
  to properties_contents with ugc_id 0; it is now placed where the client
  put it, keeps its UGID and blueprint and is saved with them.
- Picking up, putting away and taking apart a brick built model gave it to
  MODELS_IN_BBB and then deleted it; every way off the property now puts it
  in MODELS (carried when picked up), as live, with its blueprint config.
  Taking a premade model apart no longer deletes it either.
- Placing and removing a model saves the property at once, so a crash or a
  disconnect before PropertyEditorEnd does not lose it.
- DoneArrangingWithItem only answers when something new is picked (not when
  leaving), with the subject as build area; SetBuildModeConfirmed's
  warnVisitors matches live.

Brick by brick (BrickByBrick):
- BBBLoadItemRequest moves the model to MODELS_IN_BBB keeping its id and
  fails cleanly when the player has no such model.
- MoveInventoryBatch moves bricks between BRICKS and BRICKS_IN_BBB (it was
  not handled, so the client and server disagreed until a relog).
- BBBSaveRequest uses up the opened models, places the new ones through the
  property, returns the bricks (or uses them with bbb_consume_bricks=1),
  clears the autosave and sends RequeryPropertyModels. Every save makes new
  ugc rows (is_optimized 0, so the UGC server processes them).
- Quick save: SetBBBAutosave is stored per character (bbb_autosave).
- UnUseBBBModel puts a model back on the property where it was when it came
  from there, otherwise back in MODELS.
- Leaving brick mode without a save, a disconnect or a crash: the autosave
  is rebuilt into models (RebuildBBBAutosaveMsg) or the opened models go
  back to MODELS. MODELS_IN_BBB is saved with the character now and loads
  into MODELS, BRICKS_IN_BBB into BRICKS.

Fixes #1632
Fixes #159
Fixes #1565

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:30:59 -05:00

111 lines
4.6 KiB
INI

# URL to the code repository for the hosted server
# If you fork this repository and/or make changes to the code, reflect that here to comply with AGPLv3
source=https://github.com/DarkflameUniverse/DarkflameServer
# 0 or 1, should disable chat
disable_chat=0
# Spatial partitioning settings
# 205/12 is 1-1 with LU's terrain. Make sure to keep this ratio correct!
# so 102/24 would be half the size, which nets better phys times.
# 154/18 is a good middle road
phys_spatial_partitioning=1
phys_sp_tilesize=102
phys_sp_tilecount=24
# Gameplay settings
# Extra feature for DLU, gives a character 2 extra backpack spaces when leveling up
disable_extra_backpack=0
# Extra feature for DLU, shows vanity in the world like extra NPCs and plaques commemorating the project and its creators
disable_vanity=0
# Extra feature for DLU, enables you to race solo
solo_racing=0
# Disables the anti-speedhack system. If you get kicked randomly you might want to disable this, as it might just be lag
disable_anti_speedhack=0
# 0 or 1, check server fdb (res/CDServer.fdb) against clients
check_fdb=0
# 0 or 1, DLU leaderboards will rate Avant Gardens Survival based on score by default.
# This option should be set to 1 if you would like it to reflect the game when it was live (scoring based on time).
classic_survival_scoring=0
# If this value is 1, pets will consume imagination as they did in live. if 0 they will not consume imagination at all.
pets_take_imagination=1
# Disables loot drops
disable_drops=0
# Hardcore mode settings
hardcore_mode=0
# Drop your entire inventory on death + coins (drops on the ground, so can be retrieved)
hardcore_dropinventory_on_death=1
# Enemies drop their max hp * this value. 0 will effectively disable it.
hardcore_uscore_enemies_multiplier=2
# Percentage of u-score to lose on player death
hardcore_lose_uscore_on_death_percent=10
# Allow civilian players the ability to turn the nameplate above their head off. Must be exactly 1 to be enabled for civilians.
allow_nameplate_off=0
# Turn logging of IP addresses for anti-cheat reporting on (1) or off(0)
log_ip_addresses_for_anti_cheat=1
# These are the 5 items items that are shown in the "Help" menu in-game along with their coresponding descriptions below.
help_0_summary=Got an issue?
help_1_summary=Stuck loading?
help_2_summary=Missing features?
help_3_summary=Get smashed?
help_4_summary=Want to contribute?
help_0_description=Go to the DarkflameServer repository on GitHub to view issues and discussions about the server emulator!<br/><br/><a href="https://github.com/DarkflameUniverse/DarkflameServer"><font color="#0000EE">Click Here to go there!</font></a><br/><br/>
help_1_description=Try switching networks, using a VPN, or using your phone's hotspot to resolve the issue.<br/><br/>
help_2_description=While DarkflameServer is a mostly complete emulator, there are still some features that aren't implemented. You can track these on the GitHub issues page.<br/><br/>
help_3_description=Skill issue!<br/><br/>
help_4_description=Visit Discussions on the DarkflameServer GitHub page<br/>to ask questions and collaborate with other devs!<br/><br/>
# Toggleable quality of life feature to allow users to skip most cinematics.
allow_players_to_skip_cinematics=0
# Customizable message for what to say when there is a cdclient fdb mismatch
cdclient_mismatch_title=Version out of date
cdclient_mismatch_message=We detected that your client is out of date. Please update your client to the latest version.
# Auto reject properties which contain no models | must be 1 in order to auto reject.
auto_reject_empty_properties=0
# comma delimited list of items to not drop in hardcore mode
hardcore_excluded_item_drops=6086,7044
# Reduces the UScore gained from the below uscore_reduction config options by x (i.e. uscoreGained * hardcore_uscore_reduction)
hardcore_uscore_reduction=
# Any given enemy will only have its uscore gain reduced 1 time
# Worlds that should have their uscore reduction applied at a global level (i.e. for worlds with lots of skeletons)
hardcore_uscore_reduced_worlds=
# Specific LOTs that should have their uscore reduced (i.e. for worlds with a mix of skeletons and normal enemies)
hardcore_uscore_reduced_lots=
# Excludes this comma delimited list of LOTs from giving UScore in hardcore mode
hardcore_uscore_excluded_enemies=
# Disables hardcore mode for specific worlds, if hardcore is enabled
hardcore_disabled_worlds=
# Keeps this percentage of a players' coins on death in hardcore
hardcore_coin_keep=
# save pre-split lxfmls to disk for debugging
save_lxfmls=0
# 1: saving a brick by brick model uses up the bricks in it, as live did. 0: they go back to the backpack.
bbb_consume_bricks=0