mako88 / dxx-tracker Goto Github PK
View Code? Open in Web Editor NEWSimple Tracker for DXX-Rebirth.
License: MIT License
Simple Tracker for DXX-Rebirth.
License: MIT License
Trying to get the tracker working in Ubuntu, but I gcan't figure out how to build it from the source here. The website portion seems to be running OK...
Currently the tracker has no way to gracefully end, you have to force kill it.
Also, force killing server.php with Ctrl+C will leave auto-remove.php running in the background.
Hi there - pulled the repo from git and the server.php instanced is running fine and logging games from hosting clients - other clients can see the games in the ingame browser when pointed at my local tracker.
The web page loads fine, shows that the backend process is running fine but never retrieves a list of games from the sqlite database. If I run games.php manually there is no ouput either.
I noticed that the web page on the main tracker at http://dxxtracker.hopto.org/ also didn't show any game output when I pointed my client there and hosted a game.
Thanks in advance.
Send the game list in packets with a max size of MTU: 1500 bytes. Send an initial packet telling the number to receive, then in each packet tell the client which in the list it is (so the client can check if it missed any).
This may not be possible unless we convert to Python.
The tracker at http://dxxtracker.hopto.org appears to be gone. This is affecting anyone trying to play multiplayer on Rebirth 0.59 and later.
Please let me know if you would like any help/assistance getting this up and running again.
This will prevent unnecessary processing.
Log all incoming and outgoing packets with timestamps and info received/sent.
Make sure that the $peer returned by stream_socket_recvfrom is in the correct format for stream_socket_sendto when using IPv6.
When #7 is implemented, also add a game archive.
I am not able to get a two pc's on different networks to join into a game together unless I use Hamachi. Both PC's can host and be seen on the tracker but cant see each other or other games on the in game list. LAN also works well. Just TCP connection without the aid of Hamachi is the issue.
So here's the changes I'm thinking packet-wise (let me know what you think): When a client hosts a game (packet 21), they will recieve back 21GameID with the GameID of their game. When they want to unregister a game they'll send 22GameID with their GameID to unregister (the tracker will check both the port/IP their sending from AND the GameID they send to makes sure that a host can only remove his own game. This should make it impossible for someone to spoof an IP/port to remove a game since they'd also have to know the GameID of the game to remove).
When the tracker recieves 22GameID, it will reply with 22-0, 22-1, or 22-2. 22-0 means the game unregistered succesfully. 22-1 means the GameID wasn't found (or didn't match the IP/Port), and 22-2 means the IP/Port wasn't found (or didn't match the GameID). (This could be simplified to just 22-1 for success and 22-0 for not-success if you'd rather).
When a client sends 26GameID to hole punch, if the GameID isn't found, it will recieve back 27GameID (the ID of the game they tried to hole punch).
Finally, if a host is updating a game, he will include the c=GameID key in the value string so that the tracker knows it should be updating. Otherwise, it will create a new game. (So for instance, if the tracker gets 21b=HEADER,z=BLOB, it will create a new game, but if it gets 21b=HEADER,c=GameID,z=BLOB it will update the game with GameID). This will also be double checked by both IP/Port AND GameID to prevent abuse.
Specifically log the peer along with each primary case
Score, playernames, etc.
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.