Files
DarkflameServer/resources/sharedconfig.ini
Aaron Kimbrell 9d76fe9550 feat(ugc): placed models from the UGC server without 3D services
A placed model's client (1.10.64, UGCUSE3DSERVICES=7:0) always loads its
blueprint's NIF and HKX (its BlueprintComponent sets renderUserGen and
physicsUserGen itself) and its LXFML, asks the world for each file's
manifest first and waits for the answer with no timeout.

With ugc_manifest=1 and the new ugc_manifest_models=1 (default 0) the world:
- leaves the models whose mesh the UGC server made out of the LXFML it
  sends when a property loads,
- answers their NIF with the UGC server's checksum, their LXFML with the
  stored LXFML's (worked out once and kept) and their HKX as not known,
- sends a model that isn't made its LXFML (once for the three requests),
  so the client builds it itself and no model is left waiting.

When the UGC server writes a model's mesh with a new checksum it sends
UGC_MODELS_MADE (a new master message, appended) to the master, which
passes it to every world; a world with that model placed sends its
players the new NIF checksum and NotifyClientUGCModelReady (game message
909, the blueprint id), so clients switch to the served mesh.

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

108 lines
4.1 KiB
INI

# MySQL connection info:
mysql_host=
mysql_database=
mysql_username=
mysql_password=
# 0 or 1, should log to console
log_to_console=1
# 0 or 1, should log debug (developer only) statements to console for debugging, not needed for normal operation
log_debug_statements=0
# The public facing IP address. Can be 'localhost' for locally hosted servers
external_ip=localhost
# The local IPv4 address every server (auth, chat, master, world and the dashboard's
# connection to master) listens on, for machines with more than one network interface.
# Empty (the default) or 0.0.0.0 listens on all interfaces; localhost means 127.0.0.1.
# This only changes where the servers listen: players are still sent external_ip, so
# use it when the public address isn't one this machine can bind to (NAT, a proxy).
# The servers refuse to start if this isn't an IPv4 address.
bind_ip=
# 0 or 1, should not compile chat hash map to file
dont_generate_dcf=0
# How many clients can be connected to the server at once
max_clients=999
# Where to put crashlogs
dump_folder=
# The location of the client
# Either the folder with /res or with /client and /versions
client_location=
# The maximum outgoing bandwidth in bits. If your clients are having
# issues with enemies taking a while to catch up to them, increse this value.
# Empty or 0 means no limit
maximum_outgoing_bandwidth=0
# The Maximum Translation Unit (MTU) size for packets. If players are
# getting stuck at 55% on the loading screen, lower this number to
# reduce the chances of packet loss. This value only has an effect
# from 512 <= maximum_mtu_size <= 1492 so make sure to keep this
# value within that range.
maximum_mtu_size=1228
# The client network version to allow to connect to this server.
# Client's that do not match this value will be kicked from the server.
# If you are using a Darkflame Universe client, set this value to 171023.
# This cannot just be any arbitrary number. This has to match the same value that is in your client.
# If you do not know what this value is, default it to 171022.
client_net_version=171022
# Turn to 0 to default teams to use the live accurate Shared Loot (0) by default as opposed to Free for All (1)
# This is used in both Chat and World servers.
default_team_loot=0
# event gating for login response and luz gating
event_1=Talk_Like_A_Pirate
event_2=
event_3=
event_4=
event_5=
event_6=
event_7=
event_8=
# version for login response and luz gating
version_major=1
version_current=10
version_minor=64
# The port the chat server is started and listening on
# Used in chat and world servers
chat_server_port=2005
sqlite_database_path=resServer/dlu.sqlite
database_type=sqlite
# Skips the account creation check in master. Used for non-interactive setups.
skip_account_creation=0
# 0 or 1, restrict mail while account is muted
mute_restrict_mail=1
# 0 or 1, restrict trade while account is muted
mute_restrict_trade=1
# 0 or 1, automatically reject character and pet names submitted while muted
mute_auto_reject_names=1
# The UGC server makes a saved property model this many seconds after its owner's last save (each save starts the wait
# again for all their waiting models), or as soon as a game client asks for it or the owner leaves the world. 0: right
# away. See docs/UgcServer.md.
ugc_debounce_seconds=120
# 0 or 1: worlds answer game clients without 3D services (UGCUSE3DSERVICES=7:0, the default) with the checksums of the
# files the UGC server made, so they download the icons of cars, rockets and models from the UGCSERVERIP, UGCSERVERPORT
# and UGCSERVERDIR of their boot.cfg (default: the PATCHSERVER* values). A client that can't connect there is logged
# out, so only set 1 when every player's boot.cfg points at the UGC server. See docs/UgcServer.md.
ugc_manifest=0
# 0 or 1, with ugc_manifest=1: placed player models the UGC server has made are downloaded from it (their mesh) instead
# of being built by each client from the LXFML the world sends; models not made yet are still sent as LXFML. The UGC
# server makes no physics (.hkx): a client that never built a model itself has no collision for it. See
# docs/UgcServer.md.
ugc_manifest_models=0