Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core Keeper] Added Steam Datagram Relay (SDR) support and world savi… #62

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

K3lvin4SY
Copy link

@K3lvin4SY K3lvin4SY commented Aug 15, 2024

Description

  • Added option to use Steam Datagram Relay (SDR) instead of a port. Can be used to ignore port issues.
    Example: [Install Bug]: Core Keeper eggs#2525
    This solution doesn't fix the opened issue, but it's a workaround to make it work.

  • Added functionality for saving the world when stopping the server. Previously it would kill of the server without letting it save the world first. This would result in some progress being lost.

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?
  • You verify that the start command applied does not use a shell script
    • If some script is needed then it is part of a current yolk or a PR to add one
  • The egg was exported from the panel

…ng on server-stop.

- Added option to use Steam Datagram Relay (SDR) instead of a port. Can be used to ignore port issues.
Example: pelican-eggs/eggs#2525
This solution doesn't fix the opened issue, but it's a workaround to make it work.

- Added functionality for saving the world when stopping the server. Previously it would kill of the server without letting it save the world first. This would result in some progress being lost.
@QuintenQVD0
Copy link
Contributor

You are messing things up.

You can not change the email of the egg
And you exported a ptero exported egg in the pelican one. Please adjust.

@QuintenQVD0
Copy link
Contributor

And please shorten the variable description.

- Fixed the exported Pelican egg
- Shortened description for STEAMRELAY_PORT variable
@K3lvin4SY
Copy link
Author

Thanks for pointing that out! I've made the adjustments and fixed the issues:

  • Reverted the email change for the egg.
  • Corrected the Pelican egg.
  • Shortened the variable description as requested.
    Please let me know if there's anything else.

Thanks! =)

@ImKringle
Copy link
Contributor

No longer runs on the latest version (Just figured id mention, ran into this debugging my own)

Caught fatal signal - signo:11 code:1 errno:0 addr:0x20
Obtained 24 stack frames.
#0  0x007f5296ece050 in __sigaction
#1  0x007f520fa1cee0 in BumblelionLogger::TryToLoadConfigurationFile()
#2  0x007f520fa1ccd8 in BumblelionLogger::BumblelionLogger()
#3  0x007f520fa1d870 in BumblelionLogger::GetInstance()
#4  0x007f520fa1cbf6 in DbgLogAreaFlags_FnInOut
#5  0x007f520fa34d79 in OutstandingPlayFabRequestManager::OutstandingRequest::OutstandingRequest()
#6  0x007f520fa34bfd in OutstandingPlayFabRequestManager::OutstandingRequestList::OutstandingRequestList()
#7  0x007f520fa3a6ab in _GLOBAL__sub_I_PlayFabServiceManagerImpl.cpp
#8  0x007f52991f89ce in __nptl_change_stack_perm
#9  0x007f52991f8ab4 in __nptl_change_stack_perm
#10 0x007f5296fe1024 in _dl_catch_exception
#11 0x007f52991ff21e in _dl_rtld_di_serinfo
#12 0x007f5296fe0fca in _dl_catch_exception
#13 0x007f52991ff5b8 in _dl_find_dso_for_object
#14 0x007f5296f17438 in dlmopen
#15 0x007f5296fe0fca in _dl_catch_exception
#16 0x007f5296fe107f in _dl_catch_error
#17 0x007f5296f16f27 in dlerror
#18 0x007f5296f174e9 in dlopen
#19 0x007f5297fecf8e in PlayerMain(int, char**)
#20 0x007f5297fdd77d in PlayerMain(int, char**)
#21 0x007f5296eb924a in __libc_init_first
#22 0x007f5296eb9305 in __libc_start_main
#23 0x00000000201029 in (Unknown)
Segmentation fault (core dumped)

@K3lvin4SY

@K3lvin4SY
Copy link
Author

K3lvin4SY commented Aug 23, 2024

No longer runs on the latest version (Just figured id mention, ran into this debugging my own)

Caught fatal signal - signo:11 code:1 errno:0 addr:0x20
Obtained 24 stack frames.
#0  0x007f5296ece050 in __sigaction
#1  0x007f520fa1cee0 in BumblelionLogger::TryToLoadConfigurationFile()
#2  0x007f520fa1ccd8 in BumblelionLogger::BumblelionLogger()
#3  0x007f520fa1d870 in BumblelionLogger::GetInstance()
#4  0x007f520fa1cbf6 in DbgLogAreaFlags_FnInOut
#5  0x007f520fa34d79 in OutstandingPlayFabRequestManager::OutstandingRequest::OutstandingRequest()
#6  0x007f520fa34bfd in OutstandingPlayFabRequestManager::OutstandingRequestList::OutstandingRequestList()
#7  0x007f520fa3a6ab in _GLOBAL__sub_I_PlayFabServiceManagerImpl.cpp
#8  0x007f52991f89ce in __nptl_change_stack_perm
#9  0x007f52991f8ab4 in __nptl_change_stack_perm
#10 0x007f5296fe1024 in _dl_catch_exception
#11 0x007f52991ff21e in _dl_rtld_di_serinfo
#12 0x007f5296fe0fca in _dl_catch_exception
#13 0x007f52991ff5b8 in _dl_find_dso_for_object
#14 0x007f5296f17438 in dlmopen
#15 0x007f5296fe0fca in _dl_catch_exception
#16 0x007f5296fe107f in _dl_catch_error
#17 0x007f5296f16f27 in dlerror
#18 0x007f5296f174e9 in dlopen
#19 0x007f5297fecf8e in PlayerMain(int, char**)
#20 0x007f5297fdd77d in PlayerMain(int, char**)
#21 0x007f5296eb924a in __libc_init_first
#22 0x007f5296eb9305 in __libc_start_main
#23 0x00000000201029 in (Unknown)
Segmentation fault (core dumped)

@K3lvin4SY

With the egg I've updated in #62 , the latest version works perfectly fine for me.

@ImKringle
Copy link
Contributor

No longer runs on the latest version (Just figured id mention, ran into this debugging my own)

With the egg I've updated in #62 , the latest version works perfectly fine for me.

Fresh import and server creation using the egg from this PR, does not start:

Shutdown handler: initialize.
Preloaded 'libEOSSDK-Linux-Shipping.so'
Preloaded 'libPlayFabMultiplayer.so'
Preloaded 'lib_burst_generated.so'
Caught fatal signal - signo:11 code:1 errno:0 addr:0x20
Obtained 24 stack frames.
#0 0x007fd5e53ed050 in __sigaction
#1 0x007fd55c6fdee0 in BumblelionLogger::TryToLoadConfigurationFile()
#2 0x007fd55c6fdcd8 in BumblelionLogger::BumblelionLogger()
#3 0x007fd55c6fe870 in BumblelionLogger::GetInstance()
#4 0x007fd55c6fdbf6 in DbgLogAreaFlags_FnInOut
#5 0x007fd55c715d79 in OutstandingPlayFabRequestManager::OutstandingRequest::OutstandingRequest()
#6 0x007fd55c715bfd in OutstandingPlayFabRequestManager::OutstandingRequestList::OutstandingRequestList()
#7 0x007fd55c71b6ab in _GLOBAL__sub_I_PlayFabServiceManagerImpl.cpp
#8 0x007fd5e77179ce in __nptl_change_stack_perm
#9 0x007fd5e7717ab4 in __nptl_change_stack_perm
#10 0x007fd5e5500024 in _dl_catch_exception
#11 0x007fd5e771e21e in _dl_rtld_di_serinfo
#12 0x007fd5e54fffca in _dl_catch_exception
#13 0x007fd5e771e5b8 in _dl_find_dso_for_object
#14 0x007fd5e5436438 in dlmopen
#15 0x007fd5e54fffca in _dl_catch_exception
#16 0x007fd5e550007f in _dl_catch_error
#17 0x007fd5e5435f27 in dlerror
#18 0x007fd5e54364e9 in dlopen
#19 0x007fd5e650bf8e in PlayerMain(int, char**)
#20 0x007fd5e64fc77d in PlayerMain(int, char**)
#21 0x007fd5e53d824a in __libc_init_first
#22 0x007fd5e53d8305 in __libc_start_main
#23 0x00000000201029 in (Unknown)
/entrypoint.sh: line 89: 49 Segmentation fault (core dumped) ./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt -world ${WORLD_INDEX} -worldname "${WORLD_NAME}" -worldseed ${WORLD_SEED} $([[ "${GAME_ID}" != "" ]] && echo -n " -gameid ${GAME_ID}") -maxplayers ${MAX_PLAYERS} -worldmode ${WORLD_MODE} $([[ ${STEAMRELAY_PORT} == 0 ]] && echo -n " -port ${SERVER_PORT}")
[3]+ Terminated tail -f CoreKeeperServerLog.txt | grep -e '^[userid:[0-9]*] player' -e '^[^\[]'
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: Aborting automatic restart, crash detection is disabled for this instance.

@K3lvin4SY
Copy link
Author

K3lvin4SY commented Aug 24, 2024

Okay thanks @ImKringle
I can't seem to replicate the error you get.
Try to change the startup command with the following:

export DISPLAY=:0; set -m; rm ./GameID.txt ./CoreKeeperServerLog.txt; touch ./CoreKeeperServerLog.txt; xvfb-run -s "-screen 0 {{DISPLAY_WIDTH}}x{{DISPLAY_HEIGHT}}x{{DISPLAY_DEPTH}} -ac -nolisten tcp -nolisten unix" ./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt -world {{WORLD_INDEX}} -worldname "{{WORLD_NAME}}" -worldseed {{WORLD_SEED}} $([[ "{{GAME_ID}}" != "" ]] && echo -n " -gameid {{GAME_ID}}") -maxplayers {{MAX_PLAYERS}} -worldmode {{WORLD_MODE}} $([[ {{STEAMRELAY_PORT}} == 0 ]] && echo -n " -port {{SERVER_PORT}}") & CKPID=$!; tail -f CoreKeeperServerLog.txt | grep -e '^\[userid:[0-9]*\] player' -e '^[^\[]' & LOGPID=$!; trap 'if [[ ! -z "$CKPID" ]]; then kill $CKPID; wait $CKPID; fi; if [[ ! -z "$LOGPID" ]]; then kill $LOGPID; wait $LOGPID; fi' EXIT; wait $CKPID; CKPID=""

Let me know if it works or not. Although, this command won't save the world on server stop.
Please let me know what linux distro your pterodactyl wings is running on.

@pgpais
Copy link

pgpais commented Aug 24, 2024

Hey, I was trying to setup a core keeper server and came across this just now.

I'm encountering the same issue as @ImKringle . So it might be something you have set up that we don't?

For context, I'm running a ubuntu server 24.04 as a VM in proxmox. I have been able to run other servers (satisfactory and valheim) so I don't think the issue lies on my side.

Please let me know if I can help in any way. We were just about to start playing this for the first time and I'd love to have a server for us :)

@ImKringle
Copy link
Contributor

Yeah this is happening on a bare metal install, this egg as well as just using a basic ubuntu or debian container. Its def just a missing package, question is which one

@MasaruTobashi
Copy link

Hi, Same about me,

No starting with the eggs. I'm on Proxmox with a lxc for ptero.

Tested with previous version and latest of the eggs.

steam user is not set.
Using anonymous user.
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/home/container/Steam/logs/stderr.txt'
Logging directory: '/home/container/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1721172922
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '1963720' already up to date.
 Update state (0x5) verifying install, progress: 14.72 (11534336 / 78382436)
Success! App '1007' fully installed.
:/home/container$ export DISPLAY=:0; rm ./GameID.txt ./CoreKeeperServerLog.txt; touch ./CoreKeeperServerLog.txt; xvfb-run -s "-screen 0 ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}x${DISPLAY_DEPTH} -ac -nolisten tcp -nolisten unix" ./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt -world ${WORLD_INDEX} -worldname "${WORLD_NAME}" -worldseed ${WORLD_SEED} $([[ "${GAME_ID}" != "" ]] && echo -n " -gameid ${GAME_ID}") -maxplayers ${MAX_PLAYERS} -worldmode ${WORLD_MODE} -port ${SERVER_PORT} & CKPID=$!; tail -f CoreKeeperServerLog.txt | grep -e '^\[userid:[0-9]*\] player' -e '^[^\[]' & LOGPID=$!; trap "kill ${CKPID}; wait ${CKPID}; kill ${LOGPID}; wait ${LOGPID}" 15; wait $!
rm: cannot remove './GameID.txt': No such file or directory
rm: cannot remove './CoreKeeperServerLog.txt': No such file or directory
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
Mono path[0] = '/home/container/CoreKeeperServer_Data/Managed'
Mono config path = '/home/container/CoreKeeperServer_Data/MonoBleedingEdge/etc'
Preloaded 'discord_game_sdk.so'
Shutdown handler: initialize.
Preloaded 'libEOSSDK-Linux-Shipping.so'
Preloaded 'libPlayFabMultiplayer.so'
Preloaded 'lib_burst_generated.so'
Caught fatal signal - signo:11 code:1 errno:0 addr:0x20
Obtained 24 stack frames.
#0  0x007fe9e935c050 in __sigaction
#1  0x007fe95ddf6ee0 in BumblelionLogger::TryToLoadConfigurationFile()
#2  0x007fe95ddf6cd8 in BumblelionLogger::BumblelionLogger()
#3  0x007fe95ddf7870 in BumblelionLogger::GetInstance()
#4  0x007fe95ddf6bf6 in DbgLogAreaFlags_FnInOut
#5  0x007fe95de0ed79 in OutstandingPlayFabRequestManager::OutstandingRequest::OutstandingRequest()
#6  0x007fe95de0ebfd in OutstandingPlayFabRequestManager::OutstandingRequestList::OutstandingRequestList()
#7  0x007fe95de146ab in _GLOBAL__sub_I_PlayFabServiceManagerImpl.cpp
#8  0x007fe9eb6959ce in __nptl_change_stack_perm
#9  0x007fe9eb695ab4 in __nptl_change_stack_perm
#10 0x007fe9e946f024 in _dl_catch_exception
#11 0x007fe9eb69c21e in _dl_rtld_di_serinfo
#12 0x007fe9e946efca in _dl_catch_exception
#13 0x007fe9eb69c5b8 in _dl_find_dso_for_object
#14 0x007fe9e93a5438 in dlmopen
#15 0x007fe9e946efca in _dl_catch_exception
#16 0x007fe9e946f07f in _dl_catch_error
#17 0x007fe9e93a4f27 in dlerror
#18 0x007fe9e93a54e9 in dlopen
#19 0x007fe9ea46df8e in PlayerMain(int, char**)
#20 0x007fe9ea45e77d in PlayerMain(int, char**)
#21 0x007fe9e934724a in __libc_init_first
#22 0x007fe9e9347305 in __libc_start_main
#23 0x00000000201029 in (Unknown)
Segmentation fault (core dumped)

@QuintenQVD0
Copy link
Contributor

Hi, Same about me,

No starting with the eggs. I'm on Proxmox with a lxc for ptero.

Tested with previous version and latest of the eggs.

steam user is not set.
Using anonymous user.
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/home/container/Steam/logs/stderr.txt'
Logging directory: '/home/container/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1721172922
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '1963720' already up to date.
 Update state (0x5) verifying install, progress: 14.72 (11534336 / 78382436)
Success! App '1007' fully installed.
:/home/container$ export DISPLAY=:0; rm ./GameID.txt ./CoreKeeperServerLog.txt; touch ./CoreKeeperServerLog.txt; xvfb-run -s "-screen 0 ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}x${DISPLAY_DEPTH} -ac -nolisten tcp -nolisten unix" ./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt -world ${WORLD_INDEX} -worldname "${WORLD_NAME}" -worldseed ${WORLD_SEED} $([[ "${GAME_ID}" != "" ]] && echo -n " -gameid ${GAME_ID}") -maxplayers ${MAX_PLAYERS} -worldmode ${WORLD_MODE} -port ${SERVER_PORT} & CKPID=$!; tail -f CoreKeeperServerLog.txt | grep -e '^\[userid:[0-9]*\] player' -e '^[^\[]' & LOGPID=$!; trap "kill ${CKPID}; wait ${CKPID}; kill ${LOGPID}; wait ${LOGPID}" 15; wait $!
rm: cannot remove './GameID.txt': No such file or directory
rm: cannot remove './CoreKeeperServerLog.txt': No such file or directory
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
Mono path[0] = '/home/container/CoreKeeperServer_Data/Managed'
Mono config path = '/home/container/CoreKeeperServer_Data/MonoBleedingEdge/etc'
Preloaded 'discord_game_sdk.so'
Shutdown handler: initialize.
Preloaded 'libEOSSDK-Linux-Shipping.so'
Preloaded 'libPlayFabMultiplayer.so'
Preloaded 'lib_burst_generated.so'
Caught fatal signal - signo:11 code:1 errno:0 addr:0x20
Obtained 24 stack frames.
#0  0x007fe9e935c050 in __sigaction
#1  0x007fe95ddf6ee0 in BumblelionLogger::TryToLoadConfigurationFile()
#2  0x007fe95ddf6cd8 in BumblelionLogger::BumblelionLogger()
#3  0x007fe95ddf7870 in BumblelionLogger::GetInstance()
#4  0x007fe95ddf6bf6 in DbgLogAreaFlags_FnInOut
#5  0x007fe95de0ed79 in OutstandingPlayFabRequestManager::OutstandingRequest::OutstandingRequest()
#6  0x007fe95de0ebfd in OutstandingPlayFabRequestManager::OutstandingRequestList::OutstandingRequestList()
#7  0x007fe95de146ab in _GLOBAL__sub_I_PlayFabServiceManagerImpl.cpp
#8  0x007fe9eb6959ce in __nptl_change_stack_perm
#9  0x007fe9eb695ab4 in __nptl_change_stack_perm
#10 0x007fe9e946f024 in _dl_catch_exception
#11 0x007fe9eb69c21e in _dl_rtld_di_serinfo
#12 0x007fe9e946efca in _dl_catch_exception
#13 0x007fe9eb69c5b8 in _dl_find_dso_for_object
#14 0x007fe9e93a5438 in dlmopen
#15 0x007fe9e946efca in _dl_catch_exception
#16 0x007fe9e946f07f in _dl_catch_error
#17 0x007fe9e93a4f27 in dlerror
#18 0x007fe9e93a54e9 in dlopen
#19 0x007fe9ea46df8e in PlayerMain(int, char**)
#20 0x007fe9ea45e77d in PlayerMain(int, char**)
#21 0x007fe9e934724a in __libc_init_first
#22 0x007fe9e9347305 in __libc_start_main
#23 0x00000000201029 in (Unknown)
Segmentation fault (core dumped)

Lxc is not supported

@K3lvin4SY
Copy link
Author

So far I have only been able to start the latest version of the core keeper server when the server is created by a pterodactyl wings which is installed inside a docker container.

I've used the following docker-compose.yml file:

services:
  wings:
    image: ghcr.io/pterodactyl/wings:latest
    restart: always
    ports:
      - "8443:443"
      - "2022:2022"
    tty: true
    environment:
      TZ: "Europe/Stockholm"
      WINGS_UID: 0
      WINGS_GID: 0
      WINGS_USERNAME: root
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock" # DO NOT CHANGE
      - "/var/lib/docker/containers:/var/lib/docker/containers" # DO NOT CHANGE
      - "/opt/pterodactyl/wings/config:/etc/pterodactyl" # Feel free to change.
      - "/var/lib/pterodactyl:/var/lib/pterodactyl" # DO NOT CHANGE
      - "/var/log/pterodactyl:/var/log/pterodactyl" # DO NOT CHANGE
      - "/tmp/pterodactyl/:/tmp/pterodactyl/" # Recommended not to change.

@HerrSammyDE
Copy link
Contributor

HerrSammyDE commented Aug 29, 2024

I have the same problem under Debian 12 with the last Egg version from 2 months ago.

I also found this article: https://discourse.cubecoders.com/t/core-keeper-segmentation-fault/3623

image

@Osanchez
Copy link

Osanchez commented Sep 5, 2024

for anyone with this issue. try removing/renaming the libparty.so file in /home/container/CoreKeeperServer_Data/Plugins/libparty.so

#70

@YoloFTW
Copy link

YoloFTW commented Sep 5, 2024

for anyone with this issue. try removing/renaming the libparty.so file in /home/container/CoreKeeperServer_Data/Plugins/libparty.so

#70

This has got it working for me. You Sir are a legend!

@bippity
Copy link

bippity commented Sep 11, 2024

for anyone with this issue. try removing/renaming the libparty.so file in /home/container/CoreKeeperServer_Data/Plugins/libparty.so

#70

Using the original/current repo's egg, I removed the file and was able to start the server and a gameID was outputted.
However, players were unable to actually connect to the server, they saw a "Connection Timed Out" error.

It wasn't until I replaced the default startup command with only ./_launch.sh that the players were able to connect.
Not sure if that would cause any issues, but the server is now functional.

@Osanchez
Copy link

@bippity the startup command in this egg is derived from the _launch.sh and it is advised that we do not call scripts in the launch file.

@Osanchez
Copy link

Osanchez commented Sep 11, 2024

with all that said I have been looking at the game code and testing some things with the xbox version. for those who dont know, there is a server config file that is created when you first launch your server located at .config/unity3d/Pugstorm/Core Keeper/DedicatedServer/ServerConfig.json. This config location can be changed by supplying -serverconfig along side the path to this file eg. ./serverConfig.json

its contents look like this, with the exception that your server will have filled some of these fields.

{
   "gameId": "",
   "world": 0,
   "worldName": "Core Keeper",
   "worldSeed": 0,
   "maxNumberPlayers": 100,
   "maxNumberPacketsSentPerFrame": 1,
   "networkSendRate": 30,
   "worldMode": 0,
   "seasonOverride": -1
}

There is a value that can be provided to this config to enable cross play, though I have seen that this should be the default value.
"crossPlay:" true

I do not actually see any attempts to connect made from the xbox game client and there is no way the server is responding that quickly to the client. Like others have mentioned I suspect it is broken or not implemented. If you start a game on xbox that is cross platform the ID is in a different format and much shorter. ill put money that the xbox client rejects connections to the dedicated linux server instantly because it recognizes a different world ID format.

cross play should was either disabled or never implemented. Im still new, I imagine youll find your answers on their official discord. if still having issues set the crossplay value to false

@bippity bippity mentioned this pull request Sep 12, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants