Code Monkey home page Code Monkey logo

tiny-csgo-server's Introduction

tiny-csgo-server

Tiny csgo server for logging on to steam game servers and establish connection with GC, being displayed on the game server browser, not for real server purpose. It's a fake server.

Dependencies

Compile and Run

Windows

  1. Configure path of hl2sdk-csgo and Asio in build.bat.
  2. Run build.bat to compile the project.
  3. Move every file in bin/windows next to tiny-csgo-server.exe.
  4. Run tiny-csgo-server.exe with necessary commandline.

Linux

  1. Configure path of hl2sdk-csgo and Asio in build.sh.
  2. Run build.sh to compile the project.
  3. Move every file in bin/linux next to tiny-csgo-server.
  4. Set the directory constains your executable to LD_LIBRARY_PATH.
  5. Run tiny-csgo-server with necessary commandline.

Command option notes

  • -port Game server listening port.
  • -version Version of current csgo, you can find this value in steam.inf with key name "PatchVersion".
  • -gslt Game server logon token. If you don't set this, game server will logon to anonymous account and will not be displayed in the internet server browser.
  • -rdip Redirect IP Address (e.g. 127.0.0.1:27015). If this is set, server will redirect all connection request to the target address. If this is not set, server will reject all connection request.
  • -vac With this option to enable vac, without to disable.
  • -mirror With this option to enable the displaying of the target redirect server's information and players. The server name, map, max players, player list etc, are going to be the same with the redirect server. The duplicated information is updated every 10 seconds.

Special notice if you're trying to use tiny-steam-client

You have to disable vac, which means without option -vac to fake online players. But you can change the information variable SERVER_VAC_STATES = 1 to fake a vac enabled status in the browser.

Example usage

Assuming the GSLT is 5AB2234D9C490DCG406AET0763DE5813, game server port is 27015, server version is 1.38.5.5.

Windows:
tiny-csgo-server.exe -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813

Linux:
./tiny-csgo-server -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813
  • If you want to redirect the players trying to connect this tiny server, assuming the target server is 127.0.0.1:27016
Windows:
tiny-csgo-server.exe -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813 -rdip 127.0.0.1:27016

Linux:
./tiny-csgo-server -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813 -rdip 127.0.0.1:27016
  • If you want to redirect the players trying to connect this tiny server, and copy the information of the target server and online players, assuming the target server is 127.0.0.1:27016
Windows:
tiny-csgo-server.exe -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813 -rdip 127.0.0.1:27016 -mirror

Linux:
./tiny-csgo-server -port 27015 -version 1.38.5.5 -gslt 5AB2234D9C490DCG406AET0763DE5813 -rdip 127.0.0.1:27016 -mirror

How to change server information

In src/common/info_const.hpp, you can change the following constances to change the information. In the future, all these information will be configurable through a cfg file. Note that incorrect value of some variables may keep your fake server from being displayed in the browser. Or you can just use -mirror option to copy the redirect target server's information, when -mirror is enabled, information below is overridden.

//Server information
_DECL_CONST SERVER_NAME = "Tiny csgo server";
_DECL_CONST SERVER_MAP = "de_tinycsgomap";
_DECL_CONST SERVER_GAME_FOLDER = "csgo";
_DECL_CONST SERVER_DESCRIPTION = "Counter-Strike: Global Offensive";
_DECL_CONST SERVER_APPID = 730;
_DECL_CONST SERVER_NUM_CLIENTS = 10;
_DECL_CONST SERVER_MAX_CLIENTS = 12;
_DECL_CONST SERVER_NUM_FAKE_CLIENTS = 0;
_DECL_CONST SERVER_TYPE = 'd';
_DECL_CONST SERVER_OS = 'w';
_DECL_CONST SERVER_PASSWD_NEEDED = 0;
_DECL_CONST SERVER_VAC_STATES = 1;
_DECL_CONST SERVER_TAG = "pure, vac, tiny-csgo-server";
_DECL_CONST SERVER_DCFRIENDSREQD = 0;
_DECL_CONST SERVER_VALVE_OFFICIAL = 0;
_DECL_CONST SERVER_REGION = SERVER_REGION_ASIA;

FAQ

1. Client can't redirect to the target server, always get #Valve_Reject_Connect_From_Lobby error.

For solution to redirecting not working please refer to this issue.

2. Player count of my server in the browser is always 0

You can manually control the player count outside of the Internet tab of the browser, where player has to be authenticated by the server then the count number will change. This can help to authenticate players.

tiny-csgo-server's People

Contributors

yourmnbbn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tiny-csgo-server's Issues

CS2

Hello, are you planning to transfer your projects to CS2? If so, please contact me at [email protected]

Support public_ip

Add argument for specify server public ip. Original srcds args: -ip, +net_public_addr

Because when i'm running server in docker container server starts on local container ip and can't receive connects.

dont work, error when server entering

OS: Windows
start parameters: -port 27015 -rdip 109.137.121.140:27015 -version 1.38.5.2
(and +gslt)
CONSOLE OUTPUT:

ChangeGameUIState: CSGO_GAME_UI_STATE_MAINMENU -> CSGO_GAME_UI_STATE_LOADINGSCREEN
CS_App_Lifetime_Gamestats: Recording ServerBrowserFavorites 
Connecting to public(145.127.112.157:27015) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
Connecting to public(109.137.121.140:27015) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
#Valve_Reject_Connect_From_Lobby
**** Unable to localize '#GenericConfirmText_Label' on panel descendant of 'PopupManager'
ChangeGameUIState: CSGO_GAME_UI_STATE_LOADINGSCREEN -> CSGO_GAME_UI_STATE_MAINMENU
ChangeGameUIState: CSGO_GAME_UI_STATE_MAINMENU -> CSGO_GAME_UI_STATE_MAINMENU

Binding to selected IP

Is it possible to bind server to only one, selected IP address? I've read this, which suggests it's not possible.

fatal error: isteamgamecoordinator.h: No such file or directory

Hi
I'm on deb 11 and i got this error :

[ 14%] Building CXX object CMakeFiles/tiny-csgo-server.dir/sv-main.cpp.o
In file included from /root/fake/tiny-csgo-server/sv-main.cpp:2:
/root/fake/tiny-csgo-server/src/GCClient.hpp:11:10: fatal error: isteamgamecoordinator.h: No such file or directory
11 | #include <isteamgamecoordinator.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/tiny-csgo-server.dir/build.make:76: CMakeFiles/tiny-csgo-server.dir/sv-main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/tiny-csgo-server.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

server problems

Server does not start after the update, not visible in the general monitoring.
Hl2sdk-csgo updated, did not help.

  • I think I found a possible way to substitute players in the monitoring. How can I contact you?

compiled filed

`CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
CMake Error in CMakeLists.txt:
Target "tiny-csgo-server" requires the language dialect "CXX20" (with
compiler extensions). But the current compiler "GNU" does not support
this, or CMake does not know the flags to enable it.

-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
[ 14%] Building CXX object CMakeFiles/tiny-csgo-server.dir/sv-main.cpp.o
c++: error: unrecognized command line option ‘-fcoroutines’
CMakeFiles/tiny-csgo-server.dir/build.make:75: recipe for target 'CMakeFiles/tiny-csgo-server.dir/sv-main.cpp.o' failed
make[2]: *** [CMakeFiles/tiny-csgo-server.dir/sv-main.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/tiny-csgo-server.dir/all' failed
make[1]: *** [CMakeFiles/tiny-csgo-server.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
`

Region ID

How i can change server region id, it always give -1

<appid>730</appid>
<gamedir>csgo</gamedir>
<region>-1</region>
<secure>true</secure>
<lan>false</lan>
<gameport>27015</gameport>

Servers disappear from search

I launched mirrors, they were displayed in the search for some time. Then they disappeared altogether. Looks like Valve turned on some kind of protection. Is it possible to fix this?

Fake players are not displayed

image

//Configs
_DECL_CONST CONFIG_HANDLE_QUERY_BY_STEAM = 1;

//Server information
_DECL_CONST SERVER_NAME = "Tiny csgo server";
_DECL_CONST SERVER_MAP = "de_tinycsgomap";
_DECL_CONST SERVER_GAME_FOLDER = "csgo";
_DECL_CONST SERVER_DESCRIPTION = "Counter-Strike: Global Offensive";
_DECL_CONST SERVER_APPID = 730;
_DECL_CONST SERVER_NUM_CLIENTS = 10;
_DECL_CONST SERVER_MAX_CLIENTS = 12;
_DECL_CONST SERVER_NUM_FAKE_CLIENTS = 8;
_DECL_CONST SERVER_TYPE = 'd';
_DECL_CONST SERVER_OS = 'w';
_DECL_CONST SERVER_PASSWD_NEEDED = 0;
_DECL_CONST SERVER_VAC_STATES = 1;
_DECL_CONST SERVER_TAG = "pure, vac, tiny-csgo-server";
_DECL_CONST SERVER_DCFRIENDSREQD = 0;
_DECL_CONST SERVER_VALVE_OFFICIAL = 0;

Servers online

Can u add the feature like in fakequeries (add fake players) to control online in the any tiny-server?

I can't log in to the redirect server

tiny-csgo-server (27777)
csgo server (27016)

Client:
connect IP:27777
ChangeGameUIState: CSGO_GAME_UI_STATE_MAINMENU -> CSGO_GAME_UI_STATE_LOADINGSCREEN
CS_App_Lifetime_Gamestats: Recording ServerBrowserFavorites
Connecting to public(IP:27777) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
Connecting to public(IP:27016) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
#Valve_Reject_Connect_From_Lobby
**** Unable to localize '#GenericConfirmText_Label' on panel descendant of 'PopupManager'
ChangeGameUIState: CSGO_GAME_UI_STATE_LOADINGSCREEN -> CSGO_GAME_UI_STATE_MAINMENU
ChangeGameUIState: CSGO_GAME_UI_STATE_MAINMENU -> CSGO_GAME_UI_STATE_MAINMENU

MY server:
RejectConnection: IP:27005 - #Valve_Reject_Connect_From_Lobby

At the same time, I can just log in to the server (without redirect) connect IP:27016

Broken counter

The connection counter is broken, I myself connect through the mirror but it does not count
image

Does not redirect

Hello, after a long struggle, I installed a tiny csgo server, then I installed a tiny csgo client and logged into the server through the client. But the server redirection does not work. When I connect to the server manually, it redirects but does not redirect to the client. Can you help me?

I'm sorry if some parts are not understandable because I use translation.

An unsuccessful attempt to connect.

When trying to connect to the Tiny server, I get the following messages. Moreover ... After that, it does not let me into the server on which the redirect occurs, exactly until I rest the CS: GO client.

Connecting to public(IP:9001) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
Connecting to public(IP:27015) ...
Server using 'public' lobbies, requiring pw no, lobby id ffffffffffffffff
#Valve_Reject_Connect_From_Lobby
**** Unable to localize '#GenericConfirmText_Label' on panel descendant of 'PopupManager'
ChangeGameUIState: CSGO_GAME_UI_STATE_LOADINGSCREEN -> CSGO_GAME_UI_STATE_MAINMENU
ChangeGameUIState: CSGO_GAME_UI_STATE_MAINMENU -> CSGO_GAME_UI_STATE_MAINMENU
PNG load error Interlace handling should be turned on when using png_read_image

CS2

Hi!
I saw your tiny steam/csgo clients. I was wondering if you know anything about how CS2 is going to look like, and whether your tool has a chance of being adjusted to still work then? Are you planning to continue supporting your tool after the CS2 launch (if possible)?
I also have a few questions I'd like to ask in private if possible, you can contact me via email or discord: leev0#2194 / [email protected]
Cheers!

-mirror problem

Hi.
When using -mirror option and running multiple (10+) servers with VAC enabled I get on most of them:
Auth response: 5(VAC has been unable to perform anti-cheat checks on this user)
Without -mirror, the same servers work fine.
I'm not using tiny-steam-client, and I've read disclaimer about disabling VAC, just wanted to notice possible bug with -mirror option.
Also, when you disable VAC, you can of course spoof it in A2S_INFO, however when player selects showing only secured servers, it won't show servers with spoofed VAC - Valve has changed this behavior some time ago.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.