This Week In Veloren 158

4 minute read07 February 2022

Authored by AngelOnFira

This week, we hear about the work going on with giant trees and their new CSG implementation. Waypoints now work better while you're playing with group members. Fine-grain support was added for server socket configs. Mockups were made for potential future dungeons, and some changes were made to the econsim.

- AngelOnFira, TWiV Editor

Contributor Work

Thanks to this week's contributors, @Christof, @James, @zesterer, @xMAC94x, @floppy, @IsseW, @protheory8, @Crow, @Yurimomo, @imbris, @InfRandomness, @Slipped, @Sam, @UncomfySilence, @Zughy, and @juliancoffee!

@InfRandomess worked on migrating giant trees from site to site2 (hopefully releasing soon!). This uses an algorithm that generates a tree based on a given scale that we paint by walking from the trunk to the very leaves.

CSG Shapes by @Isse

In addition to James' additions to CSG, I've added a way to repeat other CSG shapes.

I've also made waypoints shared with group members, and saved between sessions, which will hopefully get merged before release.

More fine granular support for socket listening and IPv4 and IPv6 by @xMAC94x

With an update on Tuesday the 8th of February at 10:00 GMT, we will switch the server config format in a way that allows you to specify the sockets for the server to listen on in a more fine-grain way. The old scheme:

gameserver_address: "0.0.0.0:14004"

This only allowed setting a single socket with a single port. E.g. IPv4 0.0.0.0:14004 or IPv6 [::]:14004. This had a different behavior under Linux/Windows, for example, it was possible to enable the server for both IPv4 and IPv6 traffic under Linux by setting it to [::]:14004. But that configuration didn't work on a Windows server. To solve this problem we now extended the configuration scheme to list multiple addresses like:

gameserver_protocols: [
    Tcp(
        address: "[::]:14004",
    ),
    Tcp(
        address: "0.0.0.0:14004",
    ),
],

This will be the new default for new installations which will listen on all IPv4 and all IPv6 addresses by default. You now have to possibility to either disable one of them, change the port or also add other protocols, like the experimental QUIC support:

gameserver_protocols: [
    Quic(
        address: "[::]:14004",
        cert_file_path: "cert.der",
        key_file_path: "key.der",
    ),
    Tcp(
        address: "0.0.0.0:1234",
    ),
    Tcp(
        address: "[::]:1234",
    ),
],

Hannibal

This week, I worked on dungeon mockups to give ideas and concepts for the dungeon overhaul coming up. The small designs help to create the general atmosphere and layout of the dungeon to inspire the proc-geniuses.

First, we have a sewer dungeon with poisonous liquid. The deeper you go, the fouler and more dangerous it is. Then, we have the Sahagin dungeon, which has areas accessible only after going underwater or in the water. Finally, the adlet troglodytes in snowy mountains, who live in caves and carved their houses on the walls of the grotto.

Hopefully, the mockups will help the proc-geniuses have an easier time with the generation of dungeons!

Sewer Dungeon

Sahagin Dungeon

Adlet Troglodytes

@Christof

I just provided a small fix to trading price calculation from loot tables. Previously the loot tables were used as-is and then individually scaled against each other - now each loot table is normalized to 100% and then multiplied and combined. This might be less surprising to people changing weights and feels more logical. I just adjusted the new weights to result in unchanged prices.

Something off in the dark, but what is it? See you next week!