Jump to content

Welcome to the Forum!

The best place to exchange builds and ideas! Vote for the best ideas and suggestions here.

Join the Avorion Discord!

Connect with other passionate players and talk about the latest news.
Discord

DLC Avorion Into the Rift Out Now!

Now available on Steam!
Steam

Multithreading Update Patchnotes


koonschi
 Share

Recommended Posts

  • Boxelware Team

Patch 0.13.0

 

Date: August 26th, 2017

 

Game

  • Added a planetary trading post that sells goods from a nearby planet
  • Added an event where a freighter is chased by pirates
  • The cultists in asteroid ring sectors now behave the way they're supposed to
  • Improved aiming of salvaging turrets
  • Fighters search for mothership only every ~5 seconds when it's gone
  • Disabled player events while in sector (0:0)

Multithreading

We improved the multithreading handling of the server and client. For those of you who don't know what this means:

In short: The server and client will both run a lot smoother on machines with more CPU cores. Performance for machines with 2 or less cores should be unchanged.

If you're interested in the details, I've published a more technical post about the multithreading rework here: http://steamcommunity.com/games/445220/announcements/detail/1434814734654746607

But basically, the server is now capable of using all its cores on calculating large battles so that performance should go up by a lot.

 

  • Pirates, Xsotan and other enemies are generated asynchronously, reducing server lag when ships spawn
  • Server sector updates are now completely multithreaded
  • Client particle updates are now completely multithreaded
    • We're planning on doing client sector updates in parallel as well, but we need a little more time for this.

RCON Interface

  • Added an RCON interface to the server (default port: TCP 27015)
  • The RCON interface requires a password which can be configured in server.ini. Without password, RCON is disabled
  • The RCON interface can be used to remotely control the server and enter commands as if over command line
    • But you can use any RCON client you'd like

UI

  • Improved window handling in build menu
  • Added showing amount of goods on the current ship in trading overview
  • Added icons to transfer crew & goods ui

Scripting API

  • The amount of async script threads can be configured in the server.ini (default: 2)
  • Changed setFont parameter from string to FontType enum
  • Planet specs are now controlled from within sectorspecifics.lua
  • Added a toRandom() function to generate random Uuids
  • Added a execute() function to execute code directly within scripts
    • Warning Modders: This function should NOT be called with code that is sent from a client!

    [*]Added an AsyncPirateGenerator

    [*]Added an AsyncShipGenerator

    [*]PlanGenerator can now generate plans asynchronously

    [*]Renamed piratehunter.lua to pirateattackstarter.lua

    [*]Renamed events.lua to eventscheduler.lua

    [*]Plan damaging callbacks are now bundled and sent at the end of a frame

    [*]Added a damage type that can be applied to inflictDamage() or destroyBlocks() functions

    [*]Added callback functions to script API for ListBox

    [*]Added a new InputWindow class

    [*]Added a function to return indices of all present factions in a sector

Server

  • Added a /workers command for controlling the amount of worker threads
  • Sending performance stats to admins is now configurable in server.ini

Client

  • Added debris on block destruction
  • Improved rendering stability

Misc

  • Minor improvements to spelling in loading screen tips
  • Added better support for multiple localizations
  • Language config files are now .xml and can include more information, such as new fonts
  • Improved german translation
  • Improved weapon accuracy of ships in sectors without players
  • Copy-Pasting of text via Ctrl-V is now possible on Linux
  • Frequent updates are now gathered and sent at the end of a frame to save bandwidth
  • Improved performance of plan damaging
  • Status command prints amount of worker threads into filename
  • Improved script updates to avoid updates at the same time for less performance outliers
  • Improved logging

Bugfixes

 

"As usual, user bug reports are marked with [uBR]. Thanks everybody, keep it up!"

  • Fixed Fighters not being updated when a player is out of sector
  • Fixed wormhole guardian not aggroing alliances
  • [uBR] Fixed broken database conversion when fighters are on a ship
  • [uBR] Fixed TurretAI not switching targets when target gets out of range
  • [uBR] Fixed a crash when shutting down server with lots of players in the same group
  • [uBR] Fixed alliance ships being unable to be controlled in strategy mode
  • [uBR] Fixed AI health bar not working correctly
  • [uBR] Fixed a crash when trying to invite non-existant players to an alliance
  • [uBR] Trading overview sorts correctly in all languages, not just english
  • [uBR] Fixed huge "Small Xsotan Breeders"
  • [uBR] Fixed some wreckages not having resources displayed and not being recognized by salvaging AI ships
  • [uBR] Fixed ScriptAllianceRank not being registered in the scripting API
  • [uBR] Fixed setting and getting script values from alliances
  • [uBR] Fixed some components always being added, even when they've been removed from the descriptor
  • [uBR] Fixed lasers and glows not showing up in asteroid rings when activating the Xsotan portal
  • [uBR] Fixed mouse position being reset after loading screen
  • [uBR] Fixed an issue when multiple mines with the same name are founded
  • [uBR] Fixed alliance ships being deleted when entering (0, 0)
  • [uBR] Fixed wreckages not being where they're supposed to be
  • [uBR] Fixed ghost wreckages

 

Link to comment
Share on other sites

Looking forward to improved performance all around. Especially stoked about:

- Disabled player events while in sector (0:0)

 

I still don't have the solo achievement on Steam because some other ship always randomly pops in during combat with the AI  :P

Link to comment
Share on other sites

Awesome, looking forward to working with some of these  scripting api changes.

 

[uBR] Fixed setting and getting script values from alliances

[uBR] Fixed some components always being added, even when they've been removed from the descriptor

[uBR] Fixed an issue when multiple mines with the same name are founded

[uBR] Fixed alliance ships being deleted when entering (0, 0)

 

thxs for this, Rusty Servers were already enjoying a couple of these fixes vefore hand. But im glad its now available to the community.

Glad to be of some assistance.

Link to comment
Share on other sites

...

  • Added a planetary trading post that sells goods from a nearby planet

...

 

So Coal, Oil and Diamonds have their place now and all production-chains are available? Will it be buildable by players/alliances? Such caress anyways...

 

[spoiler=happy Fox is happy]DdOWE4x.gif

 

 

EDIT: Worth noting that Mobile Merchants can sell planetary goods aswell now?

 

Link to comment
Share on other sites

I think it's great that we had most of the "user bug reports" fixed on Rusty's months before ichi poon got around to "fixing" them.  (Not sure what the hold up was either, you'd think problems would want to be fixed asap)

 

It would also be nice if he gave direct credit and/or collaboration credit for the fixes considering that they were fixed by someone else and the code was graciously shared. 

 

I don't foresee a lot of code sharing in the future if the original developer takes credit for fixing something that has been broken for a while and didn't or couldn't fix it.  This of course leads to stunting of the game because there aren't a lot of German only software code monkeys out there.

 

I know that based on that, I won't be offering access to my sound studio to develop additional original tracks to add more music depth to the game, instead of the 12 repetitive tracks we have now.  Rusty's however, may enjoy them.

 

Just saying giving recognition goes a long way in the development community, especially when it benefits a for profit enterprise development.

 

Oh and on a final note...  Mods may be annoying, but they are a true measure of popularity.  When you stop seeing updates and new mods posted on this site, I can guarantee that application or program is not far from total death due to lack of interest or other shenanigans from the original developer(s).  See Pokemon Go for reference.

Link to comment
Share on other sites

Thanks for the update, are you still planning on sharing the dev roadmap sometime soon?

 

And I would personally like to request more RTS style options and hard-docking so we can make small resource collectors or larger custom bombers that can be released/recalled at will

Link to comment
Share on other sites

Wow...

 

Lots of darn good statements and questions and not one reply from the Devs on a brand new update now 24 hours old.

 

@AugyTek:  You said it my friend.  Give credit where credit is due, especially when the recipient gains economically upon the sweat of the unpaid.

 

What is so hard for the Devs that they can not post the format for the RCON password?  Is it because the RCON is not actually working?  If so, can you say so?

 

Now with Multithreading in place, when are you going to post information on the proper setting for both workerThreads and generatorThreads?  Are there any other configuration options now in play that have not been listed in relation to MultiThreading?

 

O.o

 

 

 

 

 

 

Link to comment
Share on other sites

  • Boxelware Team

I think it's great that we had most of the "user bug reports" fixed on Rusty's months before ichi poon got around to "fixing" them.  (Not sure what the hold up was either, you'd think problems would want to be fixed asap)

 

It would also be nice if he gave direct credit and/or collaboration credit for the fixes considering that they were fixed by someone else and the code was graciously shared. 

 

I don't foresee a lot of code sharing in the future if the original developer takes credit for fixing something that has been broken for a while and didn't or couldn't fix it.  This of course leads to stunting of the game because there aren't a lot of German only software code monkeys out there.

 

I know that based on that, I won't be offering access to my sound studio to develop additional original tracks to add more music depth to the game, instead of the 12 repetitive tracks we have now.  Rusty's however, may enjoy them.

 

Just saying giving recognition goes a long way in the development community, especially when it benefits a for profit enterprise development.

 

Oh and on a final note...  Mods may be annoying, but they are a true measure of popularity.  When you stop seeing updates and new mods posted on this site, I can guarantee that application or program is not far from total death due to lack of interest or other shenanigans from the original developer(s).  See Pokemon Go for reference.

 

We didn't use a single line of code from a user mod or fix, we only write our own fixes based on the bug reports we receive from users. Just because it's been fixed before in a mod doesn't automatically mean we copied that code, I'm not sure why you'd think that.

 

We're already giving credit to the community by highlighting fixes for bugs that have been reported by you. Since we get a lot of bug reports via different mediums we can't track which bugs have been reported by who. There might be duplicates, bugs reported by tons of people, reports that are interweaved with multiple issues. It would cause a lot of overhead additional work. Our bug tracker is anonymous, we don't collect any personal data except for system specs and your email address (in case we need further information from you) and even that only if you want to voluntarily add it to the report. Some people might also not like being displayed publicly, so we'd have to take that into consideration too. My apologies if you don't agree with our policies here, but that's the way this works and we're not going to change it any time soon.

 

Thanks for the update, are you still planning on sharing the dev roadmap sometime soon?

The roadmap's been out for a while now, you can find it here: https://wiki.avorion.net/Roadmap

 

How to set the rcon password? There is no variable for it in server.ini (or I am blind).

You have to set it via command line at the moment, the RCON password not being available in the server.ini is a bug and will be fixed very soon.

 

Now with Multithreading in place, when are you going to post information on the proper setting for both workerThreads and generatorThreads?  Are there any other configuration options now in play that have not been listed in relation to MultiThreading?

I'll add some recommendations to the wiki. If you have a machine that supports 8 threads (e.g. a 4 Core machine with hyperthreading) I suggest 8 threads for a dedicated server, 2 or 3 generator threads and 2 or 3 script background threads.

 

Make sure you have as many worker threads as hardware concurrency, 2 - 3 generator threads are usually sufficient (you only need more if A LOT of people go and discover at the same time). Same for the script threads.

Link to comment
Share on other sites

I'll add some recommendations to the wiki. If you have a machine that supports 8 threads (e.g. a 4 Core machine with hyperthreading) I suggest 8 threads for a dedicated server, 2 or 3 generator threads and 2 or 3 script background threads.

 

Make sure you have as many worker threads as hardware concurrency, 2 - 3 generator threads are usually sufficient (you only need more if A LOT of people go and discover at the same time). Same for the script threads.

 

 

Many thanks for the heads up. 

 

We are running 6 core and 12 threads, so I will test out with workerThreads=10 and generatorThreads=4 and see what happens.

 

RCON does not seem to show up in any of the ADMIN menus.  /rcon does not pull up anything, and I do not see it in help.

Perchance can you share the actual console command to set the RCON remote password, please?

 

Thank you for letting us know that no user code was incorporated in the latest update.  Sorry that I was lead to believe that this was not the case.

 

Many thanks!

 

 

 

Link to comment
Share on other sites

For anyone not understanding how to settup rcon

 

--rcon-ip 0.0.0.0
--rcon-port 0000
--rcon-pasword supersecretpassword

 

you can set these in the Command Line ie where you would start the server

 

bin\AvorionServer.exe --galaxy-name RustyUniverse --rcon-ip 0.0.0.0 --rcon-port 0000 --rcon-pasword supersecretpassword

 

This can be done in the server.bat or manager-config.ini if your using the Dirty Server Manager

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...