Hah I clicked this expecting to be about GL_ALPHA_TEST...
Cool little game.
Need help alpha testing my MMORPG.
Sijmen, it seems that every time you join, weird messages get sent out to the server and I never can see you or your chat messages. Perhaps you are using an outdated source tree.
---2x John Carmack
Quote: Original post by TheChuckster
Sijmen, it seems that every time you join, weird messages get sent out to the server and I never can see you or your chat messages. Perhaps you are using an outdated source tree.
Heh, nice you noticed it. There were a few 'good' times, though, when I used your client.
I was trying to fiddle around a bit with the protocol and such, looking at how you did it. It's looking quite nice really. One question I have though, is: why do you ignore the status message from the server when it concerns the player?
if (nick == nickname) // If it's us, then forget about it! return;
And while I'm at it, what are you using as message serperator? That's not clear from the source, either. Neither is the 'login' procedure. It doesn't seem to use the message-id system, right?
Overall, well done though!
/edit:
The client segfaults when I'm using two at the same time :|
Hey,
Got somewhat further. It seems like you are first sending the length of the message, and then the message itself, to avoid using message serperators. Looks quite good.
Found a little exploit though: try using a nick like 'Sijmen:1:Muharharhar', you'll get some funny results.
Good luck,
Sijmen Mulder
Got somewhat further. It seems like you are first sending the length of the message, and then the message itself, to avoid using message serperators. Looks quite good.
Found a little exploit though: try using a nick like 'Sijmen:1:Muharharhar', you'll get some funny results.
Good luck,
Sijmen Mulder
It's because we already know our own status so why keep track of it as if it were a remote player?
I switched to using the pipe (|) symbol as a separator because the colon is frequently used for smilies. To prevent exploits, I will need to filter it out of messages so that malformed messages do not go to the server.
What's the message-id system?
I switched to using the pipe (|) symbol as a separator because the colon is frequently used for smilies. To prevent exploits, I will need to filter it out of messages so that malformed messages do not go to the server.
What's the message-id system?
---2x John Carmack
Quote: Original post by TheChuckster
It's because we already know our own status so why keep track of it as if it were a remote player?
Well, the server might have not accepted the movement. Take for example a hacked map, missynchronisation would be the result.
Quote: I switched to using the pipe (|) symbol as a separator because the colon is frequently used for smilies. To prevent exploits, I will need to filter it out of messages so that malformed messages do not go to the server.
Yes, indeed :)
Quote: What's the message-id system?
1|Sijmen|Hey man!^|| message id
Now I for my part have one question again :)
I did this:
1 - Send the length of the message as uint with network byte order
2 - Send a (null-terminated?) string
However, after that happens, the connection seems to be closed. Is that right?
And also, some strings are zero-terminators, some are not, and some are double zero terminated. Is this your side or SDL_net's?
Good luck!
Sijmen Mulder
The message-id system allows for easy distinction between the three types of messages: position, chat, and disconnect.
I'm guessing the error handling kicked in on you and closed the connection. I oughta publish the server source as well.
And for the null-terminator deal. Yikes. It's more than likely poor coding on my part. How did you get to see the low level packets?
I'm guessing the error handling kicked in on you and closed the connection. I oughta publish the server source as well.
And for the null-terminator deal. Yikes. It's more than likely poor coding on my part. How did you get to see the low level packets?
---2x John Carmack
Quote: Original post by TheChuckster
The message-id system allows for easy distinction between the three types of messages: position, chat, and disconnect.
I'm guessing the error handling kicked in on you and closed the connection. I oughta publish the server source as well.
And for the null-terminator deal. Yikes. It's more than likely poor coding on my part. How did you get to see the low level packets?
I've used a Linux program called ethereal.
When does the server close the connection? What is going wrong?
Edit your config file so that you're not using duplicate nicknames. That's probably the issue. Also, another release is going to be out soon. Check the news updates on the site -- I'll post when it's out.
Among other things, it promises a Windows port! (and the server source)
Among other things, it promises a Windows port! (and the server source)
---2x John Carmack
Quote: Original post by TheChuckster
A web site with the source code and more information is up down!
http://thechuckster.homelinux.com/nitro/
http://www.roboguy.net(WIP) - lisperati - SICP - Haskell - Python - OCaml - Lambda the Ultimate - Good Math, Bad Math - Wiki (not Wikipedia) - Pure - Term-Rewriting Functional Language
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement