amstan / hyperserv Goto Github PK
View Code? Open in Web Editor NEWThis project forked from greghaynes/xsbs
HyperServ
Home Page: hypertriangle.com
License: Other
This project forked from greghaynes/xsbs
HyperServ
Home Page: hypertriangle.com
License: Other
The /recorddemo 1, /recorddemo 0, does nothing when you change map after. No demo recorded. /listdemos returns "no demos available", that's normal. /getdemo prompts, so the /recorddemo 1 should be fixed..
Implement a way to login when ingame without the server relaying the (X-User has logged in as X-Name)
ex #loginsilent
Following bans:
-gbans
-temp ban
-permanent ban
Right now, hyperserv uses sha224 to store passwords in the database. And then use a traditional transaction to check the password:
Passwords are sent in plaintext over the network, but then hashed by the server and checked with the hash in the database. This way, if the database is compromised, the passwords are not. There is one hash for every password.
Sauerbraten does it differently:
The passwords are hashed by the client with their cn info in it, therefore multiple hashes exist for the same password. Then sent to the server which takes a plaintext password from the database, hashes it, then compares with the password that went through the internet.
This makes it more secure when questioning the identity of the server, but it makes storing passwords securely impossible.
I need to find a way to hash the passwords that i store, while still having a way to do some more processing(shoving cn in there) and then getting a password that will match the one generated by the client.
same as xsbs feature
Yeah... very important.
Try to aim this for 1.5
say should be disabled for trusteds, since there's people abusing it. There's absolutely no need for trusteds to have this.
There's a few others, review them.
detect when the irc got disconnected and reconnect asap.
Big problem, especially with clanwars..
edit : in the fighting necessities..
hyperserv@debian:/hyperserv$ ./start_server.py/hyperserv$
Traceback (most recent call last):
File "/home/hyper/hyperserv/src/pyscripts/hyperserv/events.py", line 1, in
import timers
File "/home/hyper/hyperserv/src/pyscripts/hyperserv/timers.py", line 1, in
from twisted.internet.task import LoopingCall
ImportError: No module named twisted.internet.task
Error initializing python modules.
Server initialization failed.
Python Error: Invalid handler to triggerEvent function.
hyperserv@debian:
How do i fix this?
implement an edit event, and add an eventHandler which coults them and notices on too many.
Right now it acts like publicserver 0
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
unknown command: cfg
Configuration loaded.
HyperShade initialized.
Traceback (most recent call last):
File "/home/hyper/hyperserv/src/pyscripts/hyperserv/plugins.py", line 8, in
import hyperserv.ingame
File "/home/hyper/hyperserv/src/pyscripts/hyperserv/ingame.py", line 28, in
systemCS.executestring("map %s %s" % (config["defaultmap"],config["defaultmode"]))
File "/home/hyper/hyperserv/src/pyscripts/lib/cubescript.py", line 145, in functionErrorWrapper
return functionpointer(self,_params)
File "/home/hyper/hyperserv/src/pyscripts/hypershade/cubescript.py", line 35, in
functionpointer=lambda *args: self.wrapper(f,_args)
File "/home/hyper/hyperserv/src/pyscripts/hypershade/cubescript.py", line 28, in wrapper
return f(owner,*args[1:])
File "/home/hyper/hyperserv/src/pyscripts/hyperserv/servercommands.py", line 32, in changeMap
mode=modeNumber(mode)
File "/home/hyper/hyperserv/src/pyscripts/hypershade/util.py", line 80, in modeNumber
raise ValueError('Invalid mode')
ValueError: Invalid mode
Error initializing python modules.
Server initialization failed.
server-init.cfg needs to be phased out
A map load command needs to be put somewhere.
maybe server-empty.cfg
It just behaves like locked.
see "hw watch" but allow edit mode.
Add clearbans, to delete bans that expire within the next ban delta.
Like on jim dandy, force a getmap by doing #sendto . Only for masters/admins
Bans need to ignore case.
autoreconnect when connection is lost.
see recplay for frogmod
For saying private message.. everyone can do it :
#pm "cn" "text"
Add a #davelist ( kinda like a whitelist )
for people who are your buddies that you don't want random people to kick, but those who you don't quite trust with an account.
Spectate or Force a master relinquish if you don't move, say something, for more than 5 minutes.
All echo and say commands that are long seem to get truncated for some reason, both ingame and irc.
A good test is say (useradmin).
Here is what i get in error:
hyperserv@debian:/hyperserv$ make/hyperserv$
[ 17%] Built target sauertools
[ 64%] Built target enet
make[2]: *** No rule to make target /usr/libpython2.6.so', needed by
src/hyperserv'. Stop.
make[1]: *** [src/CMakeFiles/hyperserv.dir/all] Error 2
make: *** [all] Error 2
hyperserv@debian:
For some reason listusersessions didn't work 10 min ago.
Get a file library in place(include the maps in it too).
Manage heightmaps with it as well.
SMBoy attempted to kick RaZgRiZ but failed since RaZgRiZ is an trusted.
I don't think "an" should be there.
When some map names are put in they produce an error. From experience maps with ":)" will not work.
Can be replicated with:
"#map JK|Clanmap:)"
Error Produced:
"CSError: Unexpected ): )"
x----------------------------------------------------------------------------------x
Also, if you swap the ")" for "(" then you get another error.
Can be replicated with:
"#map JK|Clanmap:)"
Error Produced:
"TypeError: argument 1 must be string, not None"
x----------------------------------------------------------------------------------x
A quick fix for both is putting the map name in quotes. Ex:
"" '#map "JK|Clanmap:)" ""
add sqlite support in userdatabase.py. include sample sqlite file with a default user
ERROR:root:Uncaught exception occured in event handler. ERROR:root:Traceback (most recent call last): File "/storage/raided/opt/sauer/hyperserv/src/pyscripts/hyperserv/events.py", line 23, in trigger event(*args) File "/storage/raided/opt/sauer/hyperserv/src/pyscripts/hyperserv/clientcommands.py", line 17, in clientSetMaster simpleMasterRequest(caller) File "/storage/raided/opt/sauer/hyperserv/src/pyscripts/hyperserv/clientcommands.py", line 68, in simpleMasterRequest raise PermissionError("There are masters/admins present.") NameError: global name 'PermissionError' is not defined
Thar be no map upon first connect. The server denies a map change to he who is not master, and therefor leaves the client with no map loaded and a pleasant view of the main menu.
Need an auto map load script for server startup, and then the server can do as all others do. Remember the previous map it was on.
This should not be possible
vote map
map rotation - i think this is will work if votemap was implemented
switch team - this doesn't work at all
addbot/debot - take this out from the c++, make a python interface, since right now someone has to claim main master to add/del bots
make it very seamless.
When a map is loaded automatically "sendmap" in the background, so that first getmap is the right map.
It sometimes causes a crash
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.