Open ich777 opened 11 months ago
Hey mate,
Thank you for your advice, I was actually going to see if I could reach out at some point to thank you, I mainly looked into your Steam-CMD container based on WINE to get mine working
I was just sort of getting it working, as the SITCoop is not my application, and I was unsure the best way to go about it.
But I will look into your recommendation :)
Regards, Stultusaur
On Mon, Dec 18, 2023 at 8:54 PM Christoph Hummer @.***> wrote:
Hi,
I just saw your fork and noticed that https://github.com/Stultusaur/SITCoop-Docker/blob/main/README.md?plain=1#L3 .
Why not install screen and then let the applications run inside screen (eg: here https://github.com/ich777/docker-minecraft-basic-server/blob/master/scripts/start-server.sh#L181-L221 <- maybe a bit over complicated but hey, it works... :) ).
Cheers, Christoph
— Reply to this email directly, view it on GitHub https://github.com/Stultusaur/SITCoop-Docker/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARXXJMNE52TQOU5PQ6GDWMTYKAKXNAVCNFSM6AAAAABAZI7CK2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DMMRYHA2TKMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Hi @Stultusaur ... thanks for the upload. Could you maybe extend a bit the readme. Do I understand correctly if I run this docker container I can play SPT with my friends in Coop mode?
@pixelwave in general yes, but you need to run this container on a dedicated server/host and then you can play coop over that dedicated server. :)
I think the README.md has everything in it and even how to run the container.
@Stultusaur you should really run the container with screen to make it easier for users to set it up and so that they don't have to use -ti
Thanks @ich777 for the quick reply. I have a separate proxmox server running linux with docker. The readme certainly helps to setup the docker container.
But are there further resources like:
1) How to connect to the server? 2) Is a specific game client required to connect (I assume the mentioned Client version 1.9.8767.26420?)? 3) How are profiles / progress saved for people connecting? etc.
I absolutely love the idea of SPT Coop ... but resources and tutorials are quite scarce. I guess mostly because of the legal debate. Any further help would be greatly appreciated.
Btw ... does this work on a linux server running docker? Or is Windows required?
@Stultusaur is using WINE, so in general this is a Linux Docker container.
For your questions, I'm not 100% sure because I don't play Tarkov and I'm not familiar with that game <- @Stultusaur forked my docker-steamcmd-server and customized it to work with Tarkov I think.
From what I can see he is also missing the exposed ports, as said above I really can't tell what ports you need use.
The saving from the progress is usually handled through the mounted volume, however I prefer bind mounts more than volumes but that is up to the individual user and what type of system you use.
@Stultusaur can maybe answer all your questions here. :)
@Stultusaur you can even automate the PublicIP address process, look for example in my Astroneer branch at this line.
@pixelwave Hey mate,
To answer that question, you should to visit this discord https://discord.gg/f4CN4n3nP2 and following the Getting Start - Client section in the FAQ.
However see FAQ answer below:
Prerequisites: Ensure Escape from Tarkov Escape from Tarkov is up to date
Installation Steps:
Make sure Escape from Tarkov isup to date.
Download the SIT Manager .
Create two folders named: SIT-game and launcher.
Copy your live Escape from Tarkov files into the SIT-game folder. ( If you did not ran the live game for a while do it )
Downgrade the EFT to a supported version, all Downgrade patchers can be found here -> downgrade-eft
Extract it in the same folder where you copy the live EFT and run the patcher.exe
Extract the contents of SIT Manager into the launcher folder.
Start the launcher (SIT.Manager), specify the SIT-game folder path in the settings tab, ensuring it indicates EFT version 0.13.9.xxx.
Install SIT from the tools tab.( Top one is the most recent release )
Enter the IP and connect. (If using Hamachi/Radmin, make sure you are in the same network/room with whoever hosts the server and use the IP from THEIR VPN to connect)
Is a specific game client required to connect (I assume the mentioned Client version 1.9.8767.26420?)? Yes, There is a downgrader tool available on the discord to downgrade from what ever current version Live is running. Again, I did not create the client. and I will update the doco for it explaining this.
How are profiles / progress saved for people connecting? This is handled by the SITCoop mod module in the /serverdata/serverfiles/user/profiles folder.
@ich777
Thank you for your suggestions / support. As I said, new to actually creating docker containers,
I realised today actually that I forgot to expose the ports required. I will update the container to expose the ports, however, the application itself cannot change the port requirements (I do not think, I haven't tried) as they have mentioned in their discord several times, that changing the port assignments will not work for clients trying to connect.
So I didn't want to give users the ability to change it using docker.
But, I forgot to even expose those ports haha.
A user reached out with a problem, of his client not being able to connect, resolved that for him, but new I would have to fix the container.
As for the screen to make it easier, I just haven't gotten around to it, however, it is 1AM right now, so perfectly good time to work on it! ;)
Thanks again mate for your help and suggestions, I am definitely a novice when it comes to actually creating containers.
@ich777 '
Hey mate, another question I have, Another thing I was wondering when creating docker containers,
If an application is no longer needed, Example: p7zip is only used during the installation, and is no longer required once the container is finished. Can I apt uninstall the applications that are no longer required before server start?
It isn't a lot, but it would lower the size of the container yes?
@ich777
So attempting to use screen with the below command:
screen -S SITCoop -L -Logfile ${SERVER_DIR}/masterLog.0 -d -m NODE_SKIP_PLATFORM_CHECK=1 wine64 ${SERVER_DIR}/Aki.Server.exe
Just results in it getting to the stage where it starts the Aki exe file, then shuts down the container.
Unsure where I am going wrong, should I create the startup command inside another script?
@pixelwave Hey mate,
- How to connect to the server? Everything is explained in the FAQ on the discord, apologies, I just assumed anyone using this docker container would already be in that discord, and have prior knowledge of SITCoop use,
To answer that question, you should to visit this discord https://discord.gg/f4CN4n3nP2 and following the Getting Start - Client section in the FAQ.
However see FAQ answer below:
Prerequisites: Ensure Escape from Tarkov Escape from Tarkov is up to date
Installation Steps:
- Make sure Escape from Tarkov isup to date.
- Download the SIT Manager .
- Create two folders named: SIT-game and launcher.
- Copy your live Escape from Tarkov files into the SIT-game folder. ( If you did not ran the live game for a while do it )
- Downgrade the EFT to a supported version, all Downgrade patchers can be found here -> downgrade-eft
- Extract it in the same folder where you copy the live EFT and run the patcher.exe
- Extract the contents of SIT Manager into the launcher folder.
- Start the launcher (SIT.Manager), specify the SIT-game folder path in the settings tab, ensuring it indicates EFT version 0.13.9.xxx.
- Install SIT from the tools tab.( Top one is the most recent release )
- Enter the IP and connect. (If using Hamachi/Radmin, make sure you are in the same network/room with whoever hosts the server and use the IP from THEIR VPN to connect)
- Is a specific game client required to connect (I assume the mentioned Client version 1.9.8767.26420?)? Yes, There is a downgrader tool available on the discord to downgrade from what ever current version Live is running. Again, I did not create the client. and I will update the doco for it explaining this.
- How are profiles / progress saved for people connecting? This is handled by the SITCoop mod module in the /serverdata/serverfiles/user/profiles folder.
Yes thanks! In the meantime I found this myself. I set it up first on my Windows machine. And it works! Tested with a collegue.
The performance of the current version is a bit laggy though ... but I think they also mentioned it on the discord.
One more question ... if I use your docker version on my Linux server to host the game and on my Windows machine the client do I need 2 copies of EFT?
Maybe add the discord link in the readme.
But cool that you are working on a docker version. I saw someone else was trying to bring this on pterodactyl as an egg. That would be really nice.
No, EFT is not installed on the server. Only to run the client.
On Fri, 12 Jan 2024 at 3:48 am, pixelWAVE @.***> wrote:
But cool that you are working on a docker version. I saw someone else was trying to bring this on pterodactyl as an egg. That would be really nice.
— Reply to this email directly, view it on GitHub https://github.com/Stultusaur/SITCoop-Docker/issues/1#issuecomment-1887613631, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARXXJMOBSQ7ZNQIHTPXBOMLYOANHFAVCNFSM6AAAAABAZI7CK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBXGYYTGNRTGE . You are receiving this because you were mentioned.Message ID: @.***>
Example: p7zip is only used during the installation, and is no longer required once the container is finished.
I really wouldn't bother removing that one dependency because it won't have much an impact and most people don't even care about size nowadays anymore. Sure if you have dependencies/package that are much bigger in terms of size it could make sense to remove them.
However I've seen that you make use of p7zip in start-server.sh
and therefore it makes no sense to remove it since every dependency that is required to run the container or the application inside should stay, even if you use it once, hope that makes sense to you too. So my answer in this case is no, don't remove it.
Just results in it getting to the stage where it starts the Aki exe file, then shuts down the container.
Please don't forget if you start a screen session in detached mode with -d
then you have to make sure that the container keeps running by maybe using tail
like that and maybe a watchdog script that watches if the process is still running, I would actually recommend waiting a few seconds before starting tail
in this example.
Just for testing purposes you can put a sleep infinity
after the screen command and see if it is actually running in the background.
Something like that should do the job (but keep in mind this is untested and just thrown together):
start-server.sh
:
...
echo "---Checking for old logs---"
find ${SERVER_DIR} -name "masterLog.*" -exec rm -f {} \;
screen -wipe 2&>/dev/null
echo "---Start Server---"
screen -S SITCoop -L -Logfile ${SERVER_DIR}/masterLog.0 -d -m NODE_SKIP_PLATFORM_CHECK=1 wine64 ${SERVER_DIR}/Aki.Server.exe
screen -S watchdog -d -m /opt/scripts/start-watchdog.sh
sleep 2
tail -f ${SERVER_DIR}/masterLog.0
start-watchdog.sh
:
#!/bin/bash
sleep 5
killpid="$(pidof Aki.Server.exe)"
while true
do
tail --pid=$killpid -f /dev/null
kill "$(pidof tail)"
exit 0
done
I've linked a few things above, if you have questions feel free to ask. :)
EDIT: May I ask if you have a Unraid template for that too or are you not using Unraid?
@Stultusaur So I installed your SITCoop-docker on my proxmox and it works! Going to test if CPU/RAM allocation is sufficiant:
The only thing that took some time to figure out is how to access the ports correctly. I think the solution was to expose 6969/tcp, 6969/upd, 6970/tcp, 6970/udp in Portainer/Container Settings.
I am no expert maybe I exposed to much but connection was first dismissed and now it works. Also from the Internet.
Hi,
I just saw your fork and noticed that.
Why not install
screen
and then let the applications run inside screen (eg: here <- maybe a bit over complicated but hey, it works... :) ).Cheers, Christoph