Giter Club home page Giter Club logo

source-udp-forwarder's People

Contributors

leojonathanoh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

source-udp-forwarder's Issues

MALFORMED DATA

Hi. I run a CS2 server egg in pterodactyl and trying to make hlstatsx:ce work on my dedicated server.

In the daemon log I get: 2023-12-06 00:34:00: 192.168.1.188:27060 - E998: MALFORMED DATA: L 12/06/2023 - 00:33:52.509 - "sv_vote_issue_kick_allowed" = "true"

Get a lot of E998: MALFORMED data.

I have tried MariaDB and MySQL 5.7, no change.

HLSTatsX webpage seems to register the server a bit, it shows the time it has been online, but not much more.

Any help is apprechiated.

My docker-compose:

version: '2.2'
services:
  # 2. source-udp-forwarder proxy forwards gameserver logs to the daemon
  # See: https://github.com/startersclan/source-udp-forwarder
  source-udp-forwarder:
    image: startersclan/source-udp-forwarder:latest
    environment:
      - UDP_LISTEN_ADDR=0.0.0.0:26999
      - UDP_FORWARD_ADDR=daemon:27500
      - FORWARD_PROXY_KEY=#SECRET# # The daemon's proxy_key secret
      - FORWARD_GAMESERVER_IP=192.168.1.188 # The gameserver's IP as registered in the HLStatsX:CE database
      - FORWARD_GAMESERVER_PORT=27060 # The gameserver's IP as registered in the HLStatsX:CE database
      - LOG_LEVEL=INFO
      - LOG_FORMAT=txt
    volumes:
      - dns-volume:/dns
    ports:
      - 26999:26999
    networks:      
      - default
    depends_on:
      - daemon
    entrypoint:
      - /bin/sh
    command:
      - -c
      - |
          set -eu

          echo "Outputting my IP address"
          ip addr show eth0 | grep 'inet ' | awk '{print $$2}' | cut -d '/' -f1 | tee /dns/source-udp-forwarder

          exec /source-udp-forwarder

  # 3. HLStatsX:CE perl daemon accepts the gameserver logs. Gameserver Logs are parsed and stats are recorded
  # The daemon's proxy_key secret can only be setup in the HLStatsX:CE Web Admin Panel Settings under 'Proxy Settings' section
  daemon:
    image: startersclan/hlstatsx-community-edition:1.10.0-daemon
    ports:
      - 27500:27500/udp   # For external servers to send logs to the daemon    
    depends_on:
      - db
    command:
      - --ip=0.0.0.0
      - --port=27500
      - --db-host=172.19.0.2:3306
      - --db-name=hlxce
      - --db-username=hlxce
      - --db-password=hlxce
      - --nodns-resolveip
      - --debug
      # - --debug
      # - --help

  # Cron - awards
  awards:
    image: startersclan/hlstatsx-community-edition:1.10.0-daemon
    stop_signal: SIGKILL
    entrypoint:
      - /bin/sh
    command:
      - -c
      - |
          set -eu

          echo "Creating /awards.sh"
          cat - > /awards.sh <<'EOF'
          #!/bin/sh
          set -eu
          cd /scripts
          perl hlstats-awards.pl --db-host=db:3306 --db-name=hlstatsxce --db-username=hlstatsxce --db-password=hlstatsxce #--help
          EOF
          chmod +x /awards.sh

          # Run at 00:00 daily. To customize your cron schedule, use https://crontab.guru
          echo "Creating crontab"
          crontab - <<'EOF'
          PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
          0 0 * * * /awards.sh > /proc/1/fd/1 2>/proc/1/fd/2
          EOF
          crontab -l

          echo "Running cron"
          cron -f

  # 4. HLStatsX:CE DB
  # db:
  #   image: mysql:5.7
  #   environment:
  #     - MYSQL_ROOT_PASSWORD=root    # Username 'root', password 'root'
  #     - MYSQL_USER=hlstatsxce
  #     - MYSQL_PASSWORD=hlstatsxce
  #     - MYSQL_DATABASE=hlstatsxce
  #   ports:
  #     - 3305:3305
  #   volumes:
  #     - db-volume:/var/lib/mysql
  #     - ./src/sql/install.sql:/docker-entrypoint-initdb.d/install.sql:ro  # This seeds the DB only on the first time,

  db:
    image: mariadb:5
    networks: 
      - default
    environment:
      - MYSQL_USER=hlxce
      - MYSQL_PASSWORD=hlxce
      - MYSQL_DATABASE=hlxce
      - MYSQL_ROOT_PASSWORD=hlxce
    ports:
      - 3305:3305
    volumes:    
      - mysql:/var/lib/mysql
    
  # 5. HLStatsX:CE web
  # Available at http://localhost:8081, or https://web.example.com
  # Admin Panel username: admin, password: 123456
  web:
    image: startersclan/hlstatsx-community-edition:1.10.0-web    
    volumes:
      - games-volume:/web/hlstatsimg/games  # Stateful games volume, which also contains heatmaps
    environment:
      - DB_ADDR=172.19.0.2:3306
      - DB_NAME=hlxce
      - DB_USER=hlxce
      - DB_PASS=hlxce
      - DB_DEBUG=0
    ports:
      - 8081:80
      - 9000
    depends_on:
      - init-container

  # Cron - Heatmaps
  heatmaps:
    image: startersclan/hlstatsx-community-edition:1.10.0-web
    volumes:
      - games-volume:/web/hlstatsimg/games  # Stateful games volume, which also contains heatmaps
    environment:
      - DB_HOST=192.168.1.188
      - DB_NAME=hlxce
      - DB_USER=hlxce
      - DB_PASS=hlxce
      - HLXCE_WEB=/web
      - HUD_URL=#secret#
      - OUTPUT_SIZE=medium
      - DEBUG=1
    depends_on:
      - init-container
      - web
    working_dir: /heatmaps
    stop_signal: SIGKILL
    entrypoint:
      - /bin/sh
    command:
      - -c
      - |
          set -eu

          # Run at 00:00 daily. To customize your cron schedule, use https://crontab.guru
          echo "Creating crontab"
          crontab - <<'EOF'
          0 0 * * * php /heatmaps/generate.php > /proc/1/fd/1 2>/proc/1/fd/2
          EOF
          crontab -l

          echo "Running crond"
          exec crond -f

  # PHPMyAdmin to manage DB
  # Available at http://localhost:8083, or https://phpmyadmin.example.com
  phpmyadmin:
    image: phpmyadmin:5.2
    environment:
      - PMA_HOST=db
    ports:
      - 8083:80

  # Init container to set permissions in mounted folders and volumes
  init-container:
    image: alpine:latest
    volumes:
      - db-volume:/var/lib/mysql
    networks:      
      - default
    entrypoint:
      - /bin/sh
    command:
      - -c
      - |
          set -eu

          echo "Granting db write permissions"
          chown -R 999:999 /var/lib/mysql

volumes:
  dns-volume:
  db-volume:
  games-volume:
  mysql:

Can't call method "set" on unblessed reference at .//HLstats_EventHandlers.plib line 564.

Had a running system working fine with 1.11.0 (?) for a long time.

However, after a restore from a backup after hdd failure, I restored from backup, but never got it to work properly again.
I created a new DB, and updated hlstatsce to version 1.11.2.

The daemon crashes sometimes, and the hlstats daemon gives this error message.
One player does not get any kills registered, and it seems to crash everytime that specific player joins the game / mapchange.
It registers the other players fine it seems, until he joins and the daemon crashes. This can just be random behaviour.

Daemon crash error message:
Can't call method "set" on unblessed reference at .//HLstats_EventHandlers.plib line 564.

Any tips?

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.