Is the new Faction/fleet stuff broken on Linux?

    Joined
    Jun 24, 2013
    Messages
    270
    Reaction score
    43
    Same happened to me, no new factions even after creating new universe.

    had to do a clean fresh install to see the new faction. Running on linux ubuntu 14.04.
    Thing is... This was a new fresh install from when the factions were first added in development. I created a new user "starmade" and downloaded the new launcher (was using the old one in the previous folder) and ran through the install like: StarMade

    I've done these types of things on a regular basis. I've been running a server for the past few years... It's just recent builds that have been giving me problems.
     
    Joined
    Feb 10, 2017
    Messages
    318
    Reaction score
    679
    • Purchased!
    • Legacy Citizen 3
    • Community Content - Bronze 2
    Chiming in here because I just encountered this myself. Virgin Server has no Factions?
    I'm running Debian VM as well,
    Linux starmade 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
    and have unzip installed. I have not changed the VM since the last installation of the server about 2 weeks ago when it worked fine. This time around it failed.

    edit: oops sorry hit submit before I was ready... filing in details.

    I'd assumed it was some change in the last patch but apparently not. The VM that failed was a clone of the original VM which I had no issues with. Very strange that on apparently identical systems I get different behaviour.

    edit2
    I've been comparing a working system with one that's failing when a new world is created.
    The console on a system that works on creation of new world gives this
    [SERVER] Server State Created!
    [INIT] Not found Seed File: /home/starmade/starmade/StarMade/./server-database/world0/.seed ./server-database/world0/; Path exists? true; dir? true
    [SQL] Fetching connection (may take some if game crashed on the run before)
    [SQL] connection successfull
    [SERVER][NPC] importing default preset: ./data/npcFactions/Scavengers/ -> ./server-database/world0//npcFactions/Scavengers/
    Extracting file: Xyston/DATA/ENTITY_SHIP_Xyston.0.0.0.smd3 exists: true, is Dir: true. /home/starmade/starmade/StarMade/./server-database/world0/npcFactions/Scavengers/blueprints
    Extracting file: Xyston/header.smbph exists: true, is Dir: true. /home/starmade/starmade/StarMade/./server-database/world0/npcFactions/Scavengers/blueprints

    and a system that's failing gives this
    [SERVER] Server State Created!
    [INIT] Not found Seed File: /home/starmade/StarMade/./server-database/world0/.seed ./server-database/world0/; Path exists? true; dir? true
    [SQL] Fetching connection (may take some if game crashed on the run before)
    [SQL] connection successfull
    [SERVER][NPC] importing default preset: ./data/npcFactions/Trading Guild/ -> ./server-database/world0//npcFactions/Trading Guild/
    [IO][COPY] FILE FROM /home/starmade/StarMade/./data/npcFactions/Trading Guild/npcConfig.xml to /home/starmade/StarMade/./server-database/world0/npcFactions/Trading Guild/npcConfig.xml
    java.io.FileNotFoundException: ./server-database/world0/npcFactions/Trading Guild/npcConfig.xml (No such file or directory)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at org.schema.game.common.updater.FileUtil.b(SourceFile:135)
    at obfuscated.aAi.a(SourceFile:57)
    at obfuscated.azq.a(SourceFile:56)
    at obfuscated.axt.<init>(SourceFile:410)
    at obfuscated.WL.run(SourceFile:1523)
    at java.lang.Thread.run(Thread.java:745)

    One appears to be tying to copy and one appears to be doing an extract?
    If you want me to do any testing or need any info I'm happy to provide what I can.
     
    Last edited:

    AndyP

    Customer Experience Manager
    Joined
    Aug 15, 2013
    Messages
    1,182
    Reaction score
    257
    • Schine
    • Wired for Logic
    That is kind of an ongoing issue with no new results for a long time.

    We are looking into possible causes since quite a while, but not finding any specific difference.
    T2108 - NPC Assets fail to copy into world

    Here is what we know:

    - if a machine has this problem, it can reproduce it almost 100% of the cases.
    - if a machine has no issues, it cannot reproduce it once
    (Ran a script on our testserver, to simulate 1000 'new worlds', had it ONCE where I found the NPC-assets missing, but as the logs for this were broken, I assume it was some other problem.)
    - most affected machines are virtual machines
    - starting the exact same machine image again in a new instance has roughly 50% chance to become one of the 'affected' or 'fine' machines
    - usually the behaviour stays with that VM even through reboots
    - we did not find any specific software versions or packages that could trigger such a problem

    As if something on the first launch of starmade rolls a dice and either messes this machine up or not.
    So any hint on that will be useful.

    - Andy
     
    Joined
    Feb 1, 2015
    Messages
    2
    Reaction score
    4
    Well since this problem still persists i took some time to analyze the problem. What i did is strace all the system calls java does when launching the server. This is what i got:
    [DATABASE] Creating table: TRADE_NODES
    [DATABASE] Creating table: TRADE_HISTORY
    [DATABASE] Creating table: NPC_STATS
    [DATABASE] Creating table: PLAYER_MESSAGES
    [DATABASE] Creating table: MINES
    [pid 13915] openat(AT_FDCWD, "./server-database/test3/version", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 91
    [pid 13915] openat(AT_FDCWD, "./data/npcFactions", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 91
    [pid 13915] mkdir("./server-database/test3/npcFactions", 0777) = 0
    [pid 13915] openat(AT_FDCWD, "./server-database/test3/npcFactions", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 91
    [pid 13915] stat("./data/npcFactions/Scavengers", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [SERVER][NPC] importing default preset: ./data/npcFactions/Scavengers/ -> ./server-database/test3//npcFactions/Scavengers/
    [pid 13915] openat(AT_FDCWD, "./data/npcFactions/Scavengers", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 91
    [IO][COPY] FILE FROM /Steamdrive/Stuff/StarMade/./data/npcFactions/Scavengers/npcConfig.xml to /Steamdrive/Stuff/StarMade/./server-database/test3/npcFactions/Scavengers/npcConfig.xml
    [pid 13915] openat(AT_FDCWD, "./data/npcFactions/Scavengers/npcConfig.xml", O_RDONLY) = 91
    [pid 13915] openat(AT_FDCWD, "./server-database/test3/npcFactions/Scavengers/npcConfig.xml", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
    java.io.FileNotFoundException: ./server-database/test3/npcFactions/Scavengers/npcConfig.xml (Datei oder Verzeichnis nicht gefunden)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at org.schema.game.common.updater.FileUtil.copyFile(SourceFile:127)
    at org.schema.game.server.data.simulation.npc.geo.NPCFactionPreset.importPreset(SourceFile:55)
    at org.schema.game.server.data.simulation.npc.NPCFactionPresetManager.importPresets(SourceFile:56)
    at org.schema.game.server.data.GameServerState.<init>(SourceFile:416)
    at org.schema.game.common.Starter$32.run(SourceFile:1613)
    at java.lang.Thread.run(Thread.java:748)
    [pid 13915] stat("./server-database/test3/npcFactions/Scavengers/blueprints", 0x7ffa692585a0) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
    [pid 13915] mkdir("./server-database/test3/npcFactions/Scavengers/blueprints", 0777) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
    [pid 13915] lstat("/Steamdrive", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff/StarMade", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff/StarMade/server-database", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff/StarMade/server-database/test3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff/StarMade/server-database/test3/npcFactions", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
    [pid 13915] lstat("/Steamdrive/Stuff/StarMade/server-database/test3/npcFactions/Scavengers", 0x7ffa692562c0) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
    The problems seems to start when the game tries to create the file ./server-database/test3/npcFactions/Scavengers/npcConfig.xml but the folder Scavangers is not created yet. Since i only see in the trace log that the folder ./server-database/test3/npcFactions gets created before but not ./server-database/test3/npcFactions/Scavangers

    I think under Windows that folder would be created automatically by the system when creating a file in a folder that doesn't exist but unfortunately that is not the case in Linux.

    Maybe i'm all wrong but i'm pretty sure this is the error.
     
    • Like
    Reactions: jayman38