# UGC server: makes the meshes and icons of what players build and serves them to the game client. # The master starts it when enable_ugc_server=1 (masterconfig.ini). See docs/UgcServer.md. # HTTP port the game client downloads from (the client's UGCSERVERPORT) port=2008 # The IP address to bind to. The game client has to reach it, so the default is every interface. listen_ip=0.0.0.0 # UDP port for the connection to the master server (the next port is used too). It must not clash with another # server's ports: auth uses 1500-1501, chat 2005-2006, the dashboard 2010-2011, worlds 3000 and up. net_port=2012 # The client's UGCSERVERDIR: the path the downloads are under (the client adds /UGCC/...) client_path=/ugc # Where the made files are kept (relative to the server binaries), and at most how much space they may take in MB. # When there's more, the files used longest ago are deleted; they're made again when asked for. 0: no limit. ugc_output_dir=ugc ugc_max_storage_mb=2048 # Worker threads making files (0: half the CPU cores) worker_threads=0 # How much of the machine making files may use (changes apply while running): # max_cpu_percent: the workers together average at most this share of all CPU cores (0: no limit); they pause # between bits of work to stay under it, long renders included. # worker_nice: the workers' scheduling priority on Linux, 0 (normal) to 19 (only when nothing else wants the CPU). # max_memory_mb: jobs whose estimated memory would go past this together wait for running ones to finish; a job # bigger than it alone runs when nothing else does (0: no limit). # max_model_bricks: models with more bricks fail with that reason instead of being made (0: no limit). # pause_hours: local hours in which no new jobs start, e.g. 18-23 or 22-6 (empty: never). max_cpu_percent=0 worker_nice=0 max_memory_mb=0 max_model_bricks=0 pause_hours= # How often to look for models to make (milliseconds), how many to take at once, and how often a model may fail # before it's given up on (the dashboard can try again) poll_interval_ms=2000 poll_batch=32 max_attempts=3 # Models are made like LU Toolbox's Process Model and Bake Lighting make them; these default to its settings. # color_palette: lu_toolbox (its LU palette, unknown colors black) or brickdb (the client's Materials.xml). # color_variation: each brick's brightness is shifted by up to this percent (the same every time; 0: none). # transparent_opacity: transparent bricks' opacity in percent. # color_brightness: the models' colors in percent (not icons'; 100: as the palette has them, lower is darker). # transparent_colors: color ids drawn transparent whatever Materials.xml says, comma separated (empty: the default, 129, # the transparent glitter violet, which Materials.xml has opaque; none: no colors). color_palette=lu_toolbox color_variation=5 transparent_opacity=58.82 color_brightness=100 transparent_colors=129 # Levels of detail made, from the client's brickprimitives (0 most detailed, 2 least), and the distances they're # drawn at (LU Toolbox picks each level's range from these by which levels are made; lod_cull: drawn up to). lods=0,2 lod_distance_0=0 lod_distance_1=50 lod_distance_2=100 lod_distance_3=280 lod_cull=10000 # The shapes' shader number: S_Opaque_Model (transparent shapes are S01_Alpha_Model), and whether all # transparent bricks are one shape (1) or each its own (0, so the client can sort them) shader_opaque=01 combine_transparent=0 # Metal, glow and glitter colors in NiLODNodes of their own, drawn with the client's metal, emissive and animated UV # shaders (the default). # Not how live looked: live's models were all LEGO plastic (S01), which 0 (off) keeps, byte for byte. # shader_metal: mapShaders id for metal colors (Materials.xml types in metal_material_types and LU Toolbox's metallic # colors), S_Metal_Model: 88 is Polished Metal. # shader_brushed: for brushed steel colors (brushed_material_types; the client's Materials.xml has none): 89 is # Brushed Steel. # shader_glow: for opaque glowing colors (LU Toolbox's glow colors), with their plain color and an emissive material: # 46 is LEGO-Emissive. Transparent glow stays with the transparent bricks. # glow_emissive: the glow shapes' material emissive (how far the shader goes from lit to the plain color, 1 fully). # *_material_types: Materials.xml MaterialTypes, comma separated (empty: the default, none: no types). # Models already made keep their look until they're made again (the dashboard's Make everything again, or Reprocess). shader_metal=88 shader_brushed=89 shader_glow=46 glow_emissive=1 metal_material_types=shinySteel brushed_material_types=brushedSteel,matteSteel # brushed_colors: LEGO color ids drawn as brushed steel whatever their type, comma separated (empty: the default, the # drum lacquered 298,300,1002,1004; none: no colors) brushed_colors=298,300,1002,1004 # shader_glitter: for glitter colors (glitter_material_types and glitter_colors), S_Glitter_Model and, for # transparent ones, S_GlitterAlpha_Model: 21 is LEGO-AnimUV, which lays a white fleck texture stored in the .nif # over the color and moves it. 0: off, glitter stays plastic. # glitter_size: the fleck texture's tile in model units (a stud is 0.8); glitter_density: flecks in a tile; # glitter_speed: 1 moves the flecks a tile in 7 s one way and 11 s the other, 0 keeps them still. # glitter_colors: LEGO color ids that are glitter whatever their type (empty: the default, 114,117, which LEGO's color # data calls glitter; none: no colors) shader_glitter=21 glitter_material_types=glitter glitter_colors=114,117 glitter_size=1.6 glitter_density=50 glitter_speed=1 # Satin (opal) colors stay transparent plastic (the client has no satin shader) but are made milky: # satin_colors: color ids (empty: the default, LEGO's satin colors 360,362,363,364,365,366,367,376; none: off), # satin_opacity: their transparent bricks' opacity in percent (instead of transparent_opacity), # satin_whiten: how far their color goes towards white, in percent. satin_colors=360,362,363,364,365,366,367,376 satin_opacity=75 satin_whiten=20 # Remove faces that can't be seen from anywhere (optimize_resolution: detail of the renders that decide it; # hsr_ground_plane: 1 also removes what can only be seen from below the model) remove_hidden_faces=1 hsr_ground_plane=0 optimize_resolution=1024 # Bake ambient occlusion into the vertex colors: rays per vertex, how far they look, strength 0 (none) to 1, and how # much glowing colors add bake_ao=1 ao_samples=64 ao_distance=5 ao_strength=1 glow_strength=6 # Icons: size in pixels. A player model's icon is drawn from its finished .nif (LOD 0), a car or rocket's from its # modules' meshes put together. icon_size=128 # How icons are framed and lit: icon_yaw, icon_pitch, icon_fov, icon_margin, icon_offset_x, icon_offset_y, # icon_model_yaw, icon_model_pitch, icon_model_roll, # icon_sun_yaw, icon_sun_pitch, icon_sun_light, icon_world_light, icon_fill, icon_specular, icon_shininess, # icon_exposure, icon_contrast, icon_shadow_strength, icon_ao_strength. Their defaults (the framing from LU Toolbox's icon # renderer, the light matched to the game's own model icons) and ranges are listed once in the server # (UgcIconParams) and on the dashboard's settings page; set one here only to change it. The dashboard's icon editor # also keeps presets for player models and each car or rocket type, and overrides for single items, in the database.