Giter VIP home page Giter VIP logo

hlae-server-go's Introduction

HLAE-Server-GO

HLAE Server with Go implemention

About

HLAE mirv_pgl command server implemention with Go.
This package helps you to handle mirv_pgl command and their datas.

mirv_pgl

mirv_pgl supports to remote-control CS:GO client by using WebSocket.
you can handle client's camera information(position,rotation,fov,time) and game-events, and you can send commands like RCON.

Official NodeJS code : https://github.com/advancedfx/advancedfx/blob/master/misc/mirv_pgl_test/server.js

Usage

see examples.

  • 1,Launch HLAE Server by go run main.go.
  • 2,Launch CSGO with HLAE.
  • 3,type following commands below:
mirv_pgl url "ws://localhost:65535/mirv";
mirv_pgl start;
mirv_pgl datastart;

once CS:GO client succeed to connect HLAE Server, you can send commands by typing window.

hlae-server-go's People

Contributors

flowingspdg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hlae-server-go's Issues

Support transBegin/transEnd group commands

Add two functions :

  1. HLAE.TransBegin(). Initializes "transBegin" group messaging.
  2. HLAE.GroupCommands(cmd []string) . Executes group of commands(cmd) by "transBegin" and "transEnd".

Add more examples

Add more working examples. e.g.:

  • Automated dem file play/streamer with OBS + Gin + GSI and gameEvent JSON.
  • etc

WebSocket disconnects Randomly

the websocket disconnects every few seconds. It reconnects automatically after a few more seconds, but keeps disconnectiong. The Server is running on the local machine. It seems like it disconnects after a specific Event is send by CS:GO to the server. Doesn't apper on an empty server without ingame events.

Testet with Go 1.17 on multiple Machines.

Output Log:

Received event data &{weapon_fire 474.70312 map[silenced:false userid:8 weapon:]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 475.125 map[silenced:false userid:8 weapon:]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{exit_bombzone 475.70312 map[hasbomb:false isplanted:false userid:6]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 475.76562 map[silenced:false userid:8 weapon:]}
HLAE WebSocket client disconnected. Current clients : 0
[GIN] 2022/01/19 - 21:57:00 | 200 | 3.2873092s | 127.0.0.1 | GET "/mirv"
HLAE WebSocket client connected. Current clients: 1
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weaponhud_selection 476.3039 map[entindex:0 mode:0 userid:11]}
Received cmd: hello
HLAE Client connection established...
Current Version : 2
Sending handler request for 1 handlers...
Received hello
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_reload 479.70312 map[userid:8]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{spec_target_updated 480.40625 map[userid:11]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{enter_bombzone 484.20312 map[hasbomb:false isplanted:false userid:7]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{exit_bombzone 484.5 map[hasbomb:false isplanted:false userid:7]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{enter_bombzone 484.78125 map[hasbomb:false isplanted:false userid:7]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{exit_bombzone 485.35938 map[hasbomb:false isplanted:false userid:7]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 492.53125 map[silenced:false userid:7 weapon:]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 492.70312 map[silenced:false userid:7 weapon:]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 492.875 map[silenced:false userid:7 weapon:]}
Received cmd: gameEvent
Received gameEvent data...
Sending event handler request for 1 handlers...
Received event data &{weapon_fire 493.0625 map[silenced:false userid:9 weapon:]}
HLAE WebSocket client disconnected. Current clients : 0
[GIN] 2022/01/19 - 21:57:17 | 200 | 15.2048662s | 127.0.0.1 | GET "/mirv"
HLAE WebSocket client connected. Current clients: 1
HLAE WebSocket client disconnected. Current clients : 0
[GIN] 2022/01/19 - 21:57:22 | 200 | 946.6µs | 127.0.0.1 | GET "/mirv"
HLAE WebSocket client connected. Current clients: 1
Received cmd: hello
HLAE Client connection established...
Current Version : 2
Sending handler request for 1 handlers...
Received hello
Received cmd: hello
HLAE Client connection established...
Current Version : 2
Sending handler request for 1 handlers...
Received hello
Received cmd: gameEvent
Received gameEvent data...

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.