War3Evo / War3Source-EVO

War3Source Evolution (The future of War3Source)
GNU General Public License v3.0
33 stars 5 forks source link

Clear instructions on how to install CSGO server #39

Closed You-Honey closed 1 year ago

You-Honey commented 1 year ago

Would it be possible to get clear instructions how to install this mod on CSGO server?

I find the wiki really confusing.

War3Evo commented 1 year ago

Most people would have to hunt for all the information that is on the Wiki. Your lucky that there's so much information, your overwhelmed. It's better to be more information than not enough!

I put it in top down order on setting it up. First, Second, Third.

Information is based on a Linux server installation. If your doing Windows, best of luck to you. I've never used a Windows server.

Order of install:

Create Your steam server game account first! Install SteamCMD install MetaMod install SourceMod install War3Source-EVO Configure your server and War3Source-EVO Start your server

Have any questions, please use the discussion tab.

War3Evo commented 1 year ago

If you already have your CSGO server with SourceMod installed, you can just grab the latest compiled version from https://forums.alliedmods.net/showpost.php?p=2430764&postcount=1

You can then put the appropriate files from the archive where they go.

Edit the cfg/warsource_csgo.cfg

and there you go.

War3Evo commented 1 year ago

Installing a server for SourceMod has always been confusing the first time and documentations out there you've got to read.

It's really hard to tell what knowledge someone brings to the table when they go to the wiki to install the server. It's really hard to create a documentation for every single individual person with different needs.

Your more than welcome to explain how the wiki could be improved.

You-Honey commented 1 year ago

I'm a developer and while I have a lot of experience on hosting stuff I have never hosted a CSGO server so comments like these:

Install SteamCMD
install MetaMod
install SourceMod
install War3Source-EVO

Are really hard to interpret. What would help people like me would be an example on how to install all of those in some of the most common environment such as Ubuntu.

War3Evo commented 1 year ago

I'm right now working on a Android Studio open source project that will automatically install everything needed for a SourceMod server for a Linux based server.

It will also eventually handle installing other plugins from SourceMod, other than my own.

Until then, I could possibly write a installation script (.sh) file that would install a CSGO server from scratch with everything installed. Then you just follow the prompts during the installation.

Would that be better?

War3Evo commented 1 year ago

Here's an easy to use install script: https://github.com/War3Evo/War3Source-EVO/blob/master/installcsgo.sh

Requires the user to have SUDO because it apt-get installs libraries needed and for ifconfig to get public ip address.

It is not to be used as a updater, because it will over-write files. I'll create a update script tomorrow.

I've tested it myself in Debian 11. It should work in Ubuntu because Debian is the mother of Ubuntu.

usage:

chmod a+x installcsgo.sh

./installcsgo.sh

War3Evo commented 1 year ago

I was able to create install scripts for CSS, CSGO, TF2, and FOF.

https://github.com/War3Evo/War3Source-EVO

I'll see about creating update scripts tomorrow.

You-Honey commented 1 year ago

@War3Evo First of all: thank you! You've done a beautiful job.

Few last issues remaining. When I run /home/hlserver/startCSGO.sh I get this error: Cannot exec '/home/hlserver/csgo/srcds_run': No such file or directory

Here's my folder structure:

root@csgo-war3:/home# ls /home
hlserver  installcsgo.sh  metamod-1.11-linux.tar.gz  sourcemod-1.11-linux.tar.gz  steamcmd_linux.tar.gz

root@csgo-war3:/home# ls /home/hlserver/
csgo  linux32  startCSGO.sh  steamcmd  steamcmd.sh

root@csgo-war3:/home# ls /home/hlserver/csgo
csgo

root@csgo-war3:/home# ls /home/hlserver/csgo/csgo
addons  cfg  smlist19.txt  sound  sourcemod-1.9-linux.tar.gz
War3Evo commented 1 year ago

Did you have at least 40 GB of space for the installation?

At minimum, the CSGO steam server itself needs at least 35GB of uncompressed space and it keeps growing. You can't install the steam server if you don't have enough hard drive space.

Check your space using df -h df -h

I'll see about updating the script to check for required hard drive space.

You-Honey commented 1 year ago

The disk is big enough but it doesn't seem to use that much:

root@csgo-war3:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           198M  980K  197M   1% /run
/dev/vda1        49G  1.9G   47G   4% /
tmpfs           988M     0  988M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda15      105M  5.3M  100M   5% /boot/efi
tmpfs           198M  4.0K  198M   1% /run/user/0
War3Evo commented 1 year ago

Create a SUDO user, delete hlserver directory, then install using a SUDO user.

Start the script in the SUDO user's home directory.

/home/<username>/installcsgo.sh

You-Honey commented 1 year ago

Same result: Cannot exec '/home/csgo/hlserver/csgo/srcds_run': No such file or directory.

Here are the full logs: result.txt

War3Evo commented 1 year ago

If your not on debian 11, then you might need more libraries for your Linux OS.

You-Honey commented 1 year ago

I'm on Ubuntu. I can switch to Debian though.

War3Evo commented 1 year ago

I'm looking thru all the libraries in the list and revising them.

It seems to stop installing libraries at the first sign of error.

You-Honey commented 1 year ago

This is the result with debian 11. Also note that on debian it seems to add local ips too even when I entered the external ip to the prompt: result-with-debian11.txt

War3Evo commented 1 year ago

updated install file:

https://raw.githubusercontent.com/War3Evo/War3Source-EVO/master/installcsgo.sh

War3Evo commented 1 year ago

debian@debian:~/Desktop$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye

You-Honey commented 1 year ago

I'm running it now. It seems to do way more things.

I'll report back after 15 min or so when it has finished downloading.

War3Evo commented 1 year ago

/home/csgo/hlserver/steamcmd.sh: line 37: /home/csgo/hlserver/linux32/steamcmd: No such file or directory

^^ that line is important... I had many issues with it last night..

I had to use bash -c to get it to run it.

War3Evo commented 1 year ago

Let me know if it was the updated file that helped or if you added a library? if you did add a library, please let me know so I can add that library to the shell file.

You-Honey commented 1 year ago

This time it went much better. Here's the current errors:

/home/csgo/hlserver/csgo/srcds_run: 32: pushd: not found
/home/csgo/hlserver/csgo/srcds_run: 35: popd: not found
Server will auto-restart if there is a crash.
Updating server using Steam.
----------------------------
/home/csgo/hlserver/csgo/srcds_run: 1: eval: ./steam.sh: not found
----------------------------
LD_LIBRARY_PATH=/home/csgo/hlserver/csgo/bin:/home/csgo/hlserver/csgo:/home/csgo/hlserver/csgo/bin:
Failed to open libtier0.so (libstdc++.so.6: cannot open shared object file: No such file or directory)
Add "-debug" to the /home/csgo/hlserver/csgo/srcds_run command line to generate a debug.log to help with solving this problem
Tue Feb 28 19:58:02 UTC 2023: Server restart in 10 seconds
Updating server using Steam.
----------------------------
/home/csgo/hlserver/csgo/srcds_run: 1: eval: ./steam.sh: not found
----------------------------
LD_LIBRARY_PATH=/home/csgo/hlserver/csgo/bin:/home/csgo/hlserver/csgo:/home/csgo/hlserver/csgo/bin:
Failed to open libtier0.so (libstdc++.so.6: cannot open shared object file: No such file or directory)
Add "-debug" to the /home/csgo/hlserver/csgo/srcds_run command line to generate a debug.log to help with solving this problem
Tue Feb 28 19:58:12 UTC 2023: Server restart in 10 seconds
Updating server using Steam.
----------------------------
/home/csgo/hlserver/csgo/srcds_run: 1: eval: ./steam.sh: not found
----------------------------
LD_LIBRARY_PATH=/home/csgo/hlserver/csgo/bin:/home/csgo/hlserver/csgo:/home/csgo/hlserver/csgo/bin:
Failed to open libtier0.so (libstdc++.so.6: cannot open shared object file: No such file or directory)
Add "-debug" to the /home/csgo/hlserver/csgo/srcds_run command line to generate a debug.log to help with solving this problem
Tue Feb 28 19:58:22 UTC 2023: Server restart in 10 seconds
War3Evo commented 1 year ago

looks like you need either libtier0.so or libstdc++.so.6 library

War3Evo commented 1 year ago

https://steamcommunity.com/app/222880/discussions/2/618457398958286048/

War3Evo commented 1 year ago

what's your output for ldd --version

GLIBC_2.15 MUST BE VERSION 2.15 OR HIGHER!

You could also try going into the installcsgo.sh file and uncomment out all the libraries I commented out and see if any of those libraries helps you.

My version for Debian 11 is 2.28:

debian11@war3evo:~$ ldd --version ldd (Debian GLIBC 2.28-10+deb10u2) 2.28 Copyright (C) 2018 Free Software Foundation, Inc.

You-Honey commented 1 year ago
csgo@csgo-war3:~/hlserver$ ldd --version
ldd (Debian GLIBC 2.31-13+deb11u2) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Also the libstdc++.so.6 seems to be installed:

sudo apt-get install libstdc++6
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libstdc++6 is already the newest version (10.2.1-6).
0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.

But it's not finding it for some reason.

You-Honey commented 1 year ago

This command fixed it: sudo apt-get install lib32stdc++6

War3Evo commented 1 year ago

OK! I'll uncomment that out.

You-Honey commented 1 year ago

I was able to join the server. Here's the full startup log with few errors:

result-success.txt

Errors I noticed:

  1. /home/csgo/hlserver/csgo/srcds_run: 32: pushd: not found
  2. /home/csgo/hlserver/csgo/srcds_run: 35: popd: not found
  3. /home/csgo/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
  4. Unkown commands:
    Unknown command "cl_bobamt_vert"
    Unknown command "cl_bobamt_lat"
    Unknown command "cl_bob_lower_amt"
    Unknown command "cl_viewmodel_shift_left_amt"
    Unknown command "cl_viewmodel_shift_right_amt"
    Unknown command "cl_teamid_min"
    Unknown command "cl_teamid_max"
    Unknown command "cl_teamid_overhead"
    Unknown command "cl_teamid_overhead_maxdist"
    Setting mapgroup to 'mg_active'
    Unknown command "port"
  5. exec: couldn't exec gamemode_casual_server.cfg
  6. Commentary: Could not find commentary data file 'maps/de_dust2_commentary.txt'.
  7. Error parsing BotProfile.db - unknown attribute 'Rank'
  8. The War3Evo mode is not on.
War3Evo commented 1 year ago

do you have Discord... this is better on discord.

https://discord.com/invite/uhTfXYgJfB

we can chat / type faster there instead of waiting per post

War3Evo commented 1 year ago

does the server even start up?

in the server console.. .have you tried:

meta version Metamod:Source Version Information Metamod:Source version 1.11.0-dev+1148 Plugin interface version: 16:14 SourceHook version: 5:5 Loaded As: Valve Server Plugin Compiled on: Jun 26 2022 08:02:30 Built from: https://github.com/alliedmodders/metamod-source/commit/4bdc218 Build ID: 1148:4bdc218 http://www.metamodsource.net/ sm version SourceMod Version Information: SourceMod Version: 1.11.0.6931 SourcePawn Engine: 1.11.0.6931, jit-x86 (build 1.11.0.6931) SourcePawn API: v1 = 5, v2 = 16 Compiled on: Feb 12 2023 18:17:09 Built from: https://github.com/alliedmodders/sourcemod/commit/99a99484 Build ID: 6931:99a99484 http://www.sourcemod.net/ war3e_version "war3e_version" = "2.18.2023.2.28.PM.EST by El Diablo" notify singleplayer

You-Honey commented 1 year ago

I joined the discord. You are El Diablo I assume?

War3Evo commented 1 year ago

yes... join #war3source-evo in discord and discuss there. Yes I'm El Diablo

War3Evo commented 1 year ago

Lesson learned == reinstall using same script. It will not download steam server twice, it will skip that and try to download war3evo's war3source via git and compile it again.

If you ever have bugs... some reason the server doesn't install correctly... un comment out some of the sudo apt-get install lines in the script... then try the script again.