Coder Social home page Coder Social logo

deathstar / qservcollect Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 4.0 16.39 MB

Cube 2: Sauerbraten Server Mod for the older Collect Edition.

Home Page: http://www.techmasterdesign.com

CMake 0.38% C 68.15% C++ 28.95% Makefile 2.23% HTML 0.15% Shell 0.05% NSIS 0.08%

qservcollect's People

Contributors

deathstar avatar maseh87 avatar powerkiller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qservcollect's Issues

findmaprotation segmentation fault

port from justice to collect left a shitty little bug. Just fixing it up with advanced gdb and lldb debugging now. (the major debug commit should fix this)

ircbot

smartbot is awesome, let's admit. Being able to get the weather, translate what germans say, use a calculator, dictionary, etymology lookup, etc. all from Sauerbraten is cool. So is controlling the server remotely from your phone through IRC, being able to kick and ban people and clear bans from IRC and login with the adminpass and much more.

If you are experiencing issues with the IRCBot while it is in development:

  • please disable it by using ircignore 1 in config/server-init.cfg

QServCollect can run for years without restarting without the IRC Bot.
If you are experiencing frequent crashes, this is because you have the experimental bot enabled.

The IRC Bot is not currently 100% finished, as it does not handle ping timeouts, crashing the entire thread (including sauer server). I am working on a fix right now to automatically reconnect the IRC Bot if the ping/pong connection is lost. This will not only reliably keep the server up, but also keep the IRC Bot up in case of kicks, timeouts or internet interruptions. Enet does a good job of keeping the Sauerbraten server alive, even with interruptions (power/internet outage), however the IRCBot thread needs to mirror this and be able to withstand power/internet outages to keep the server and bot up at all times.

Essentially, I am making it so that if the connection is lost, the sauerbraten server and IRC Bot will automatically attempt to reconnect until they can, with a configurable timeout and reconnect interval (of course) and option to disable.

geoip problem after fix

so at least it doesn't crash on unknown locations now but after a certain amount of connections it starts defaulting "unknown."

pban command not working

  • the command didn't work for another client connected on the localhost, not tested with others.

Windows Support! :D

Hi Deathstar,
You probably remember me as fraggod. I just wanted to ask u if you could make a windows support in the latest qserver version just like you did with your previous ones. They had exe files and everything worked fine, except that it was made for justice edition. So i beg you, can u do the same with this version. I know u have said to download virutal and stuff, but really i cant figure it out and it has been months. So please to stop u beeing disturbed and there are many who use ure mod even today, could you please make the qservcollect compatible for windows. Do this for the community and for a old homie :) If you work with ure tech team they can probably help you with windows stuff. Ive sent u a gmail with more details.
You have done it once https://github.com/deathstar/QServ/downloads so it wont be a problem for you.

Thx, I appericiate it and i love your mod its WONDERFUCKINGFUL
-Your Homie, FragGoD

faster geoip lookup with a different cache

Moved to projects tab.

This will reduce lag on client connections and reduce the load on the server.

GEOIP_STANDARD (QServ uses this currently)
Read database from file system. This uses the least memory.

GEOIP_MEMORY_CACHE
Load database into memory. Provides faster performance but uses more memory.

GEOIP_CHECK_CACHE
Check for updated database. If database has been updated, reload file handle and/or memory cache.

GEOIP_INDEX_CACHE
Cache only the the most frequently accessed index portion of the database, resulting in faster lookups than GEOIP_STANDARD, but less memory usage than GEOIP_MEMORY_CACHE. This is useful for larger databases such as GeoIP Organization and GeoIP City. Note: for GeoIP Country, Region and Netspeed databases, GEOIP_INDEX_CACHE is equivalent to GEOIP_MEMORY_CACHE.

GEOIP_MMAP_CACHE
Load database into mmap shared memory. MMAP is not available for 32bit Windows. A ifdef will need to be added considering unix can use this feature and it is considerably faster.

These options can be combined using bit operators. For example you can use both by calling: GeoIP_open("/path/to/GeoIP.dat", GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE);

changemap segmentation fault

most likely due to a boolean value being declared false outside of a deceleration and an unused integer.

Debugging in progress.

uptime before segmentation fault: 4 days

highest uptime without fault: almost 3 weeks

current debug server uptime: 4 days 8 hours september 10th, 2017 sunday 6:10pm

pm command without spaces

This has been remedied:

  • pm command now accepts spaces, (example #pm 0 hi there how are you)
  • handler added with usage info if information is entered improperly
  • no cn in message

irc bot seg fault

the irc bot uses sscanf to check for ping/pong between the irc and the server. The sauerbraten server also uses sscanf for masterserver verification. Threading or multi-processing must be properly implemented before the ircbot works correctly. Threading is partially implemented, but there is still a problem. A variation of the sscanf function must be written in c++ that uses a different method of scanning, or the thread must be correctly programmed to allow the use of sscanf from the server and irc to be used synchronously. I'm thinking about also just using a standalone IRC bot.

Any thoughts? Suggestions?

Thread safe implementation of functionalities

most functions are thread safe, however some may not be. This is important for the engine itself and for the functionality of the ircbot. Multiprocessing may be a decent alternative to threading with mutex's for the ircbot.

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.