Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.

Assetto corsa competizione - #2090

Open
eXpansiiVe wants to merge 8 commits into
pelican-eggs:masterfrom
eXpansiiVe:assetto_corsa_competizione
Open

eXpansiiVe wants to merge 8 commits into
pelican-eggs:masterfrom
eXpansiiVe:assetto_corsa_competizione

Conversation

@eXpansiiVe

@eXpansiiVe eXpansiiVe commented Jan 25, 2023

Copy link
Copy Markdown

Description

I created the egg for Assetto Corsa Competizione, the server seems to start looking at the console, but when i try to change something in the server config files (name, password, slots, ecc) it simply gets ignored (doesn't work changing values with the eggs variable nor editing manually the file).
It's currently using the Wine docker from parkervcp/yolks
I hope someone can help me figure it out.

closes: #1641

Checklist for all submissions

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • [-] Have you tested and reviewed your changes with confidence that everything works?
  • Did you branch your changes and PR from that branch and not from your master branch?

New egg Submissions

  1. [-] Does your submission pass tests (server is connectable)? I'm not sure.
  2. Does your egg use a custom docker image?
    • Have you tried to use a generic image?
    • Did you PR the necessary changes to make it work?
  3. Have you added the egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order?
  4. Have you added a unique README.md for the egg you are adding according to the alphabetical order?

@eXpansiiVe
eXpansiiVe marked this pull request as ready for review January 25, 2023 22:34
@gOOvER

gOOvER commented Jan 26, 2023

Copy link
Copy Markdown
Contributor

can you Post the config File? i dont want to remove my SteamGuard.

Then i can take a look into config parsing

@eXpansiiVe

Copy link
Copy Markdown
Author

Sure, that's the default one that gets created whenever you run the server.

It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

@gOOvER

gOOvER commented Jan 26, 2023

Copy link
Copy Markdown
Contributor

Sure, that's the default one that gets created whenever you run the server.

It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

Test this please for parsing:

{
    "server/cfg/configuration.json": {
        "parser": "json",
        "find": {
            "maxConnections": "{{server.build.env.MAX_CONNECTIONS}}"
        }
    },
    "server/cfg/settings.json": {
        "parser": "json",
        "find": {
            "serverName": "\"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "\"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "{{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "{{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "{{server.build.env.RACECRAFT}}",
            "password": "\"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "{{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "\"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

@gOOvER

gOOvER commented Jan 26, 2023

Copy link
Copy Markdown
Contributor

you can also try this egg; i'll added the parsing, WINEDEBUG -all and moved the Steam Account Check
egg-assetto-corsa-competizione.zip

@eXpansiiVe

Copy link
Copy Markdown
Author

you can also try this egg; i'll added the parsing, WINEDEBUG -all and moved the Steam Account Check egg-assetto-corsa-competizione.zip

I tried 2 times with this and both times it doesn't even start the server and make my panel to crash. I already had to reinstalled my virtual machine 2 times

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

you can also try this egg; i'll added the parsing, WINEDEBUG -all and moved the Steam Account Check egg-assetto-corsa-competizione.zip

I tried 2 times with this and both times it doesn't even start the server and make my panel to crash. I already had to reinstalled my virtual machine 2 times

Its your egg, only with correct parsing. And sry to say, but there is no need to install the WHOLE VPS, only when the egg dont start

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

you mean this?

Redirecting stderr to '/home/container/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1669935972
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user 'xxxx' to Steam Public...Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Warning: failed to set thread priority: set failed for priority 8
Warning: support for elevated priorities is most likely unavailable, suppressing future warnings
OK
crash_20230127155753_17.dmp[42]: Uploading dump (out-of-process)
/tmp/dumps/crash_20230127155753_17.dmp

./steamcmd/steamcmd.sh: line 39:    22 Segmentation fault      (core dumped) $DEBUGGER "$STEAMEXE" "$@"
First launch will throw some errors. Ignore them
:/home/container$ wine server/accServer.exe
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
wine: failed to open "server/accServer.exe": c0000135

@gOOvER gOOvER left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Listening to TCP 9601 | UDP 9600
Trying to connect to lobby (0 times, interval 10000 s)
Session changed: Practice -> Practice 0
Detected sessionPhase <waiting for drivers> -> <waiting for drivers> (Practice)
TCP connect returns: -1
==ERR: RegisterToLobby TCP connection failed, couldn't connect to the lobby serv
er
Trying to connect to lobby (1 times, interval 13000 s)
TCP connect returns: 0

Please make the ports variable and dont use onyl defaultports

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

Sure, that's the default one that gets created whenever you run the server.

It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

Looks like, the parser dont parse config in /dir/subdir/cfg.file and is still broken

@QuintenQVD0

Copy link
Copy Markdown
Collaborator

Sure, that's the default one that gets created whenever you run the server.
It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

Looks like, the parser dont parse config in /dir/subdir/cfg.file and is still broken

you can parse files but then it has to start with ./ so "./server/cfg/configuration.json": {

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

Sure, that's the default one that gets created whenever you run the server.
It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

Looks like, the parser dont parse config in /dir/subdir/cfg.file and is still broken

you can parse files but then it has to start with ./ so "./server/cfg/configuration.json": {

{
    "./server/cfg/configuration.json": {
        "parser": "json",
        "find": {
            "maxConnections": "{{server.build.env.MAX_CONNECTIONS}}"
        }
    },
    "./server/cfg/settings.json": {
        "parser": "json",
        "find": {
            "serverName": "\"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "\"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "{{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "{{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "{{server.build.env.RACECRAFT}}",
            "password": "\"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "{{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "\"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

;)

The parser is broken since a long time. API is more important then fixing and enhance the parser

@QuintenQVD0

Copy link
Copy Markdown
Collaborator

Sure, that's the default one that gets created whenever you run the server.
It's a .json

{
    "serverName": "ACC Server (please edit settings.json)",
    "adminPassword": "",
    "carGroup": "FreeForAll",
    "trackMedalsRequirement": -1,
    "safetyRatingRequirement": -1,
    "racecraftRatingRequirement": -1,
    "password": "",
    "maxCarSlots": 30,
    "spectatorPassword": "",
    "configVersion": 1
}

Looks like, the parser dont parse config in /dir/subdir/cfg.file and is still broken

you can parse files but then it has to start with ./ so "./server/cfg/configuration.json": {

{
    "./server/cfg/configuration.json": {
        "parser": "json",
        "find": {
            "maxConnections": "{{server.build.env.MAX_CONNECTIONS}}"
        }
    },
    "./server/cfg/settings.json": {
        "parser": "json",
        "find": {
            "serverName": "\"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "\"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "{{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "{{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "{{server.build.env.RACECRAFT}}",
            "password": "\"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "{{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "\"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

;)

The perser is broken since a long time. API is more important then fixing and enhance the parser

Last time I checked the parser worked fine. Multiple files can be broken but indeed but if you only setup 1 it should work fine

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

Last time I checked the parser worked fine. Multiple files can be broken but indeed but if you only setup 1 it should work fine

did you checked it with ./dir1/dir2/cfg?

2 files workin fine, also 3 file. I have an egg with 3 cfg files parsed

@QuintenQVD0

Copy link
Copy Markdown
Collaborator

Last time I checked the parser worked fine. Multiple files can be broken but indeed but if you only setup 1 it should work fine

did you checked it with ./dir1/dir2/cfg?

The ETS2 egg uses it in that way as the config is not in the root dir and it works fine

@gOOvER

gOOvER commented Jan 27, 2023

Copy link
Copy Markdown
Contributor

Last time I checked the parser worked fine. Multiple files can be broken but indeed but if you only setup 1 it should work fine

did you checked it with ./dir1/dir2/cfg?

The ETS2 egg uses it in that way as the config is not in the root dir and it works fine

but with "file", not with "json"

@QuintenQVD0

QuintenQVD0 commented Jan 27, 2023

Copy link
Copy Markdown
Collaborator

the yaml package used is almost 8 months old, I am havving a look at the json one.

It is even used 2 times:
https://github.com/pterodactyl/wings/blob/18de96d7b864cd9ba29408029178f344fb5fefd6/go.mod#L48-L49

@QuintenQVD0

Copy link
Copy Markdown
Collaborator

/

this package is used github.com/goccy/go-json version v0.9.11 and latest is v0.10.0 with this as the changes:
https://github.com/goccy/go-json/releases/tag/v0.10.0

@eXpansiiVe

Copy link
Copy Markdown
Author

Last time I checked the parser worked fine. Multiple files can be broken but indeed but if you only setup 1 it should work fine

did you checked it with ./dir1/dir2/cfg?

The ETS2 egg uses it in that way as the config is not in the root dir and it works fine

but with "file", not with "json"

I tried both json and file parser but it doesn't seem to work

@eXpansiiVe

eXpansiiVe commented Jan 28, 2023

Copy link
Copy Markdown
Author

That's how i tried, let me know if i messed up something, i'm going crazy :/

    "/home/container/server/cfg/configuration.json": {
        "parser": "file",
        "find": {
            "maxConnections": "maxConnections: {{server.build.env.MAX_CONNECTIONS}}",
            "udpPort": "udpPort: {{server.build.env.UDP_PORT}}",
            "tcpPort": "tcpPort: {{server.build.env.TCP_PORT}}"
        }
    },
    "/home/container/server/cfg/settings.json": {
        "parser": "file",
        "find": {
            "serverName": "serverName: \"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "adminPassword: \"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "trackMedalsRequirement: {{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "safetyRatingRequirement: {{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "racecraftRatingRequirement: {{server.build.env.RACECRAFT}}",
            "password": "password: \"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "spectatorSlots: {{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "spectatorPassword: \"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

@QuintenQVD0

Copy link
Copy Markdown
Collaborator

That's how i tried, let me know if i messed up something, i'm going crazy :/

    "/home/container/server/cfg/configuration.json": {
        "parser": "file",
        "find": {
            "maxConnections": "maxConnections: {{server.build.env.MAX_CONNECTIONS}}",
            "udpPort": "udpPort: {{server.build.env.UDP_PORT}}",
            "tcpPort": "tcpPort: {{server.build.env.TCP_PORT}}"
        }
    },
    "/home/container/server/cfg/settings.json": {
        "parser": "file",
        "find": {
            "serverName": "serverName: \"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "adminPassword: \"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "trackMedalsRequirement: {{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "safetyRatingRequirement: {{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "racecraftRatingRequirement: {{server.build.env.RACECRAFT}}",
            "password": "password: \"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "spectatorSlots: {{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "spectatorPassword: \"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

if it works then it work. but normaly you should not need to specify the full path as by default the parser is in /home/container. I think it has to do with the json parer package. I updated it and used custom wings but I do not own that game and I did never spend 5 dollars so I can not claim the dedicated server for free.

https://github.com/QuintenQVD0/wings/blob/07614c373e6ad9b8d572467adcf40d5b1484759a/parser/parser.go#L258

@gOOvER

gOOvER commented Jan 28, 2023

Copy link
Copy Markdown
Contributor

the problem is; file also dont work. Files never get touched. But i cant test it anymore, because i readded my SteamGuard again

@eXpansiiVe

Copy link
Copy Markdown
Author

That's how i tried, let me know if i messed up something, i'm going crazy :/

    "/home/container/server/cfg/configuration.json": {
        "parser": "file",
        "find": {
            "maxConnections": "maxConnections: {{server.build.env.MAX_CONNECTIONS}}",
            "udpPort": "udpPort: {{server.build.env.UDP_PORT}}",
            "tcpPort": "tcpPort: {{server.build.env.TCP_PORT}}"
        }
    },
    "/home/container/server/cfg/settings.json": {
        "parser": "file",
        "find": {
            "serverName": "serverName: \"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "adminPassword: \"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "trackMedalsRequirement: {{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "safetyRatingRequirement: {{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "racecraftRatingRequirement: {{server.build.env.RACECRAFT}}",
            "password": "password: \"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "spectatorSlots: {{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "spectatorPassword: \"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

if it works then it work. but normaly you should not need to specify the full path as by default the parser is in /home/container. I think it has to do with the json parer package. I updated it and used custom wings but I do not own that game and I did never spend 5 dollars so I can not claim the dedicated server for free.

https://github.com/QuintenQVD0/wings/blob/07614c373e6ad9b8d572467adcf40d5b1484759a/parser/parser.go#L258

It doesn't work, that's why i was asking if i messed up something

@HerrSammyDE

Copy link
Copy Markdown
Contributor

That's how i tried, let me know if i messed up something, i'm going crazy :/

    "/home/container/server/cfg/configuration.json": {
        "parser": "file",
        "find": {
            "maxConnections": "maxConnections: {{server.build.env.MAX_CONNECTIONS}}",
            "udpPort": "udpPort: {{server.build.env.UDP_PORT}}",
            "tcpPort": "tcpPort: {{server.build.env.TCP_PORT}}"
        }
    },
    "/home/container/server/cfg/settings.json": {
        "parser": "file",
        "find": {
            "serverName": "serverName: \"{{server.build.env.SERVER_NAME}}\"",
            "adminPassword": "adminPassword: \"{{server.build.env.ADMIN_PASSWORD}}\"",
            "trackMedalsRequirement": "trackMedalsRequirement: {{server.build.env.TRACK_MEDALS}}",
            "safetyRatingRequirement": "safetyRatingRequirement: {{server.build.env.SAFETY_RATING}}",
            "racecraftRatingRequirement": "racecraftRatingRequirement: {{server.build.env.RACECRAFT}}",
            "password": "password: \"{{server.build.env.PASSWORD}}\"",
            "spectatorSlots": "spectatorSlots: {{server.build.env.SPECTATOR_SLOTS}}",
            "spectatorPassword": "spectatorPassword: \"{{server.build.env.SPECTATOR_PASSWORD}}\""
        }
    }
}

if it works then it work. but normaly you should not need to specify the full path as by default the parser is in /home/container. I think it has to do with the json parer package. I updated it and used custom wings but I do not own that game and I did never spend 5 dollars so I can not claim the dedicated server for free.
https://github.com/QuintenQVD0/wings/blob/07614c373e6ad9b8d572467adcf40d5b1484759a/parser/parser.go#L258

It doesn't work, that's why i was asking if i messed up something

normally not. i had just tested it too and it is probably due to the parser or the server itself, because the default settings are always set

@HerrSammyDE

Copy link
Copy Markdown
Contributor

it doesn't change anything if you change the json config by hand. you can also customize it as you like under "cfg/current", nothing changes there 😅

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Egg Request]: Assetto Corsa Competizione

4 participants