Conquer Online Forum - Free Kung Fu MMORPG

Conquer Online Forum - Free Kung Fu MMORPG (http://bbs.co.99.com/index.php)
-   Suggestions (http://bbs.co.99.com/forumdisplay.php?f=13)
-   -   Flooding algorithm in Conquer Online (http://bbs.co.99.com/showthread.php?t=634765)

isti37 07-18-2009 12:56

Flooding algorithm in Conquer Online
 
The game as it is it's laggy because almost everything you do is sent to the server, checked and you receive a response.
If the programmers are smart enough they can invent a flooding algorithm for conquer online which would send the cordinates of each player through other clients. So each player would become a movement/location/skill check server too.
And the server would check only the items, monsters, trades, login and those type of things. The other things which can be checked between other players could be sent encoded within clients. So if there are 2000 people playing on the server you will still have like 50 ping. Because 50-100 people will play in America near the server, they will send 20000 connections in other areas in America and the other people will make more millions of connections around the world. And if you play with a decent internet speed you will share the connection through other clients. And because the world is so big you could just share your movement through 2000 clients and each client would receive your fb or jumping without delay if they got a decent connection. Each client would check the others and conquer will be able to run smoothly without charging the server with the movement checking and other features. This could be a great innovation for MMORPG's , the unimportant data could be flooded through players and the server would just check every 10 minutes if a player has made something illegal and automatically ban him.

Same idea as with torrents, the difference is that you will send only the not so private data to the other clients. The things which can be delayed will be checked by the server.

Clenk~V.7 07-18-2009 14:01

Quote:

Originally Posted by isti37 (Post 10591992)
The game as it is it's laggy because almost everything you do is sent to the server, checked and you receive a response.
If the programmers are smart enough they can invent a flooding algorithm for conquer online which would send the cordinates of each player through other clients. So each player would become a movement/location/skill check server too.
And the server would check only the items, monsters, trades, login and those type of things. The other things which can be checked between other players could be sent encoded within clients. So if there are 2000 people playing on the server you will still have like 50 ping. Because 50-100 people will play in America near the server, they will send 20000 connections in other areas in America and the other people will make more millions of connections around the world. And if you play with a decent internet speed you will share the connection through other clients. And because the world is so big you could just share your movement through 2000 clients and each client would receive your fb or jumping without delay if they got a decent connection. Each client would check the others and conquer will be able to run smoothly without charging the server with the movement checking and other features. This could be a great innovation for MMORPG's , the unimportant data could be flooded through players and the server would just check every 10 minutes if a player has made something illegal and automatically ban him.

Same idea as with torrents, the difference is that you will send only the not so private data to the other clients. The things which can be delayed will be checked by the server.

Sweet coordinates client sided so I can be immortal. The reason why most things are server sided is because anyone can get a hold of a ram editor and change things. What your actually suggesting is what gave us speed hack, wh bypass and a few others.

Now just because there is 2000 people playing on the server, you don't get updates for all 2000. You only get updates for the ones within 3ish screens away.

kvdk 07-18-2009 14:54

Quote:

Originally Posted by Clenk~V.7 (Post 10592076)
Sweet coordinates client sided so I can be immortal. The reason why most things are server sided is because anyone can get a hold of a ram editor and change things. What your actually suggesting is what gave us speed hack, wh bypass and a few others.

Now just because there is 2000 people playing on the server, you don't get updates for all 2000. You only get updates for the ones within 3ish screens away.

he is talking about making the client into a p2p network

like this:

playerA [america] jumps from 100,100 to 110,110
playerB [america] gets event, verifies, accepts
playerC [america] gets event, verifies, accepts
playerD [america] gets event, verifies, accepts
playerE [america] gets event, verifies, accepts
playerF [america] gets event, verifies, accepts
(the 5 player verify is becouse there is a 5/IP client limit)

playerA [europa] jumps from 100,100 to 150,150
playerB [europa] gets event, verifies, denies [hack]
playerC [europa] gets event, verifies, denies [hack]
playerD [europa] gets event, verifies, denies [hack]
playerE [europa] gets event, verifies, denies [hack]
playerF [europa] gets event, verifies, denies [hack]
server gets 5 verifications, denies [hack] and disconnects the user

see?
the idea behind this, is that the clients do stuff instead of the server
and by letting all nearby clients verify it, the server dous less

problem here is it requires a p2p network, and that means getting trough the firewalls

so there would have to be a double system
1) direct client2client connections inside the p2p network
2) client2server2client connections to fake the p2p network
[second connection the server only relays packages, and not verifies them]

but the server would still have to verify people with less then 5 other players in range...


but, although hard to do..
adding a system like this, would increase the server capacity
combine it with the [much needed] recoding of the connection system..
and TQ could potentially change the groups into servers

isti37 07-21-2009 10:48

This would be great for atleast Guild Area, but I don't think TQ has got programmers good and cheap enough to do a good and very efficient algorithm.

Clenk~V.7 07-21-2009 11:10

Quote:

Originally Posted by kvdk (Post 10592136)
he is talking about making the client into a p2p network

like this:

playerA [america] jumps from 100,100 to 110,110
playerB [america] gets event, verifies, accepts
playerC [america] gets event, verifies, accepts
playerD [america] gets event, verifies, accepts
playerE [america] gets event, verifies, accepts
playerF [america] gets event, verifies, accepts
(the 5 player verify is becouse there is a 5/IP client limit)

playerA [europa] jumps from 100,100 to 150,150
playerB [europa] gets event, verifies, denies [hack]
playerC [europa] gets event, verifies, denies [hack]
playerD [europa] gets event, verifies, denies [hack]
playerE [europa] gets event, verifies, denies [hack]
playerF [europa] gets event, verifies, denies [hack]
server gets 5 verifications, denies [hack] and disconnects the user

see?
the idea behind this, is that the clients do stuff instead of the server
and by letting all nearby clients verify it, the server dous less

problem here is it requires a p2p network, and that means getting trough the firewalls

so there would have to be a double system
1) direct client2client connections inside the p2p network
2) client2server2client connections to fake the p2p network
[second connection the server only relays packages, and not verifies them]

but the server would still have to verify people with less then 5 other players in range...


but, although hard to do..
adding a system like this, would increase the server capacity
combine it with the [much needed] recoding of the connection system..
and TQ could potentially change the groups into servers

It still doesn't mean it will work. I can setup 5 computers and force the packets to go to those 5 computers and I would still be invincible. There is a reason why everything goes to server for verification. Besides console games, rarely does anyone do anything like this because on pcs it is easy to manipulate things. And do you really want people knowing your IP?

Toxicosis 07-21-2009 12:10

It does not work on other games I play :(

Ever find time to try the game S4 League, it uses a system like this! If another client has poor internet, then they become impossible to harm, and it even has small affect on those around them!

kvdk 07-21-2009 13:07

Quote:

Originally Posted by Clenk~V.7 (Post 10596533)
It still doesn't mean it will work. I can setup 5 computers and force the packets to go to those 5 computers and I would still be invincible. There is a reason why everything goes to server for verification. Besides console games, rarely does anyone do anything like this because on pcs it is easy to manipulate things. And do you really want people knowing your IP?

no you cant, all players in range would get the package..

if the server dous not get a verification from all users in range, then it KNOWS something is wrong....

but TQ prolly sucks at coding such a system, but if it was created, the stress on the servers would be a lot lower

Clenk~V.7 07-21-2009 16:17

Quote:

Originally Posted by kvdk (Post 10596704)
no you cant, all players in range would get the package..

if the server dous not get a verification from all users in range, then it KNOWS something is wrong....

but TQ prolly sucks at coding such a system, but if it was created, the stress on the servers would be a lot lower

Actually you posted what I wanted you to. So the complaint was a laggy server to begin with so you decided to flood hundreds of times the packets to the server. Isn't that counter productive? Well I guess you would be ahead of the server since the server wouldn't be able to keep up with everything. You could pull someone forward 2-3 jumps instead of pulling them back.

kvdk 07-21-2009 16:50

Quote:

Originally Posted by Clenk~V.7 (Post 10596943)
Actually you posted what I wanted you to. So the complaint was a laggy server to begin with so you decided to flood hundreds of times the packets to the server. Isn't that counter productive? Well I guess you would be ahead of the server since the server wouldn't be able to keep up with everything. You could pull someone forward 2-3 jumps instead of pulling them back.

lets take this...
the server having to check:
- if someone can actually move there
- if someone can actually move at their speed
- ...
- ...
- ...
- ...
- ...
- ...
- ...
- ...

or...

- userB says userA is ok
- userC says userA is ok
- userD says userA is ok
- userE says userA is ok
- userF says userA is ok

get the picture?
instead of just looking to see if enough users verify [and if not, verify it manually]
it currently has to verify everything, for everyone

especially in busy areas, this will result in hacks being impossible while removing the verifcation lag

Clenk~V.7 07-21-2009 17:16

Quote:

Originally Posted by kvdk (Post 10596981)
lets take this...
the server having to check:
- if someone can actually move there
- if someone can actually move at their speed
- ...
- ...
- ...
- ...
- ...
- ...
- ...
- ...

or...

- userB says userA is ok
- userC says userA is ok
- userD says userA is ok
- userE says userA is ok
- userF says userA is ok

get the picture?
instead of just looking to see if enough users verify [and if not, verify it manually]
it currently has to verify everything, for everyone

especially in busy areas, this will result in hacks being impossible while removing the verifcation lag

Still you go from server receiving one action and putting it into effect to the server receiving that one action and several other verifications and still having to put that one action into effect.

And have you thought about this? Lets say you have 50 people in your area. Each action anyone does you will get a packet. 50 people doing things will cause 50 extra packets for your client to verify and 50 extra packets to send to server to say you verified it. That will increase lag on yourself and server. Causing your computer to work harder and possibly decrease your fps.

Do you get the picture?

kvdk 07-21-2009 17:47

Quote:

Originally Posted by Clenk~V.7 (Post 10596997)
Still you go from server receiving one action and putting it into effect to the server receiving that one action and several other verifications and still having to put that one action into effect.

And have you thought about this? Lets say you have 50 people in your area. Each action anyone does you will get a packet. 50 people doing things will cause 50 extra packets for your client to verify and 50 extra packets to send to server to say you verified it. That will increase lag on yourself and server. Causing your computer to work harder and possibly decrease your fps.

Do you get the picture?

this currently happens:

player1 jumps to point X > server dous verification > sends it to players2 trough 10
this is what would happen then:
player jumps to point X > players2 to 10 receive the info > send verification to server

if TQ can do it is not the point here..
but if they can, a system like this would cut back lag a lot..
immagine playing CO1 again, that kind of speeds, with todays internet and servers

Clenk~V.7 07-21-2009 18:22

Quote:

Originally Posted by kvdk (Post 10597023)
this currently happens:

player1 jumps to point X > server dous verification > sends it to players2 trough 10
this is what would happen then:
player jumps to point X > players2 to 10 receive the info > send verification to server

if TQ can do it is not the point here..
but if they can, a system like this would cut back lag a lot..
immagine playing CO1 again, that kind of speeds, with todays internet and servers

To clarify it does

Player1 jumps to point X
Player1 sends packet to server
Server verifies
Server send packets to Player 2-10
Player2-10 updates accordingly

What the suggestion is.

Player1 jumps to point X
Player1 sends packet to Player 2-10
Player2-10 verifies
Player 2-10 sends packets to server
Server changes coords
Server sends packets to player 11-20(the ones on screen)
Player 11-20 updates accordingly.

It will not decrease lag, it will increase it because you are forcing the server to wait on player 2-10 instead of just player1. If one of those people are downloading something everyone will lag since the server needs that packet.

kvdk 07-22-2009 06:47

Quote:

Originally Posted by Clenk~V.7 (Post 10597052)
To clarify it does

Player1 jumps to point X
Player1 sends packet to server
Server verifies
Server send packets to Player 2-10
Player2-10 updates accordingly

What the suggestion is.

Player1 jumps to point X
Player1 sends packet to Player 2-10
Player2-10 verifies
Player 2-10 sends packets to server
Server changes coords
Server sends packets to player 11-20(the ones on screen)
Player 11-20 updates accordingly.

It will not decrease lag, it will increase it because you are forcing the server to wait on player 2-10 instead of just player1. If one of those people are downloading something everyone will lag since the server needs that packet.

actually, that player 11 - 20 get the packet before the server dous aswell...
you see, the server would be nothing more then a backbone that makes sure everything goes right..
while 99% of the time, the clients manage eachother

the server dous not send the packages to anyone, it just receives verification packages

the amount of trafic in total is more, but due to the clients knowinging even before the server, lag is decreased

Predy1673 07-22-2009 08:08

This is a great idea! It would totaly end the botting O.o atleast when sum1 is botting on screen with a non botter^^

Clenk~V.7 07-22-2009 09:54

Quote:

Originally Posted by kvdk (Post 10598030)
actually, that player 11 - 20 get the packet before the server dous aswell...
you see, the server would be nothing more then a backbone that makes sure everything goes right..
while 99% of the time, the clients manage eachother

the server dous not send the packages to anyone, it just receives verification packages

the amount of trafic in total is more, but due to the clients knowinging even before the server, lag is decreased

Who will send the packet to player11-20? How would they know its a legit packet and not a fake one? They either have to do the checks to verify it or wait til after player 2-10 get ahold of it and decide its legit. Then what? They either have to communicate to eachother or the server to tell everyone its legit. So your increasing the number of packets again. Do you not understand how network cards work? They work hell of alot slower when dealing with multiple packets. They work alot faster with larger, fewer packets.

Still do you not see how that is worse?

Quote:

Originally Posted by Predy1673 (Post 10598165)
This is a great idea! It would totaly end the botting O.o atleast when sum1 is botting on screen with a non botter^^

It wouldn't make a difference. The checks would be the same that the server does. Since the server doesn't catch botting, the clients won't be able to. SV is just a clicker so noway to remove it without blocking the app really. Proxy manipulates packets directly and they would still manipulate them and everyone will know its proxy but the computer won't know the difference. Everything else is a ram edit which is undetectable for the most part.

UCANTSEEMEE 07-22-2009 14:44

not laggy to me although i never bought a a db and i dont have a good comp or internet

UCANTSEEMEE 07-22-2009 14:44

not laggy to me although i never bought a a db and i dont have a good comp or internet

Lord_Foo 07-22-2009 14:50

Like the suggestion, biased poll.

Not signed.

kvdk 07-22-2009 17:07

Quote:

Originally Posted by Clenk~V.7 (Post 10598336)
Who will send the packet to player11-20? How would they know its a legit packet and not a fake one? They either have to do the checks to verify it or wait til after player 2-10 get ahold of it and decide its legit. Then what? They either have to communicate to eachother or the server to tell everyone its legit. So your increasing the number of packets again. Do you not understand how network cards work? They work hell of alot slower when dealing with multiple packets. They work alot faster with larger, fewer packets.

Still do you not see how that is worse?



It wouldn't make a difference. The checks would be the same that the server does. Since the server doesn't catch botting, the clients won't be able to. SV is just a clicker so noway to remove it without blocking the app really. Proxy manipulates packets directly and they would still manipulate them and everyone will know its proxy but the computer won't know the difference. Everything else is a ram edit which is undetectable for the most part.

first of all, WHY send someone a FAKE package?
second of all, THE PACKAGE SIZE IS THE SAME!
but instead of it going to the server, its immediately send to all other players!
they themselves react immediately after choosing if its legit or not...
and then tell the server what each client thinks..

should the majority say the player did something wrong, the server disconnects them and informs all other users about it..

instead of having the server verify everything, it only has to manage the connections

Clenk~V.7 07-22-2009 17:42

Quote:

Originally Posted by kvdk (Post 10598817)
first of all, WHY send someone a FAKE package?
second of all, THE PACKAGE SIZE IS THE SAME!
but instead of it going to the server, its immediately send to all other players!
they themselves react immediately after choosing if its legit or not...
and then tell the server what each client thinks..

should the majority say the player did something wrong, the server disconnects them and informs all other users about it..

instead of having the server verify everything, it only has to manage the connections

The packet size is not the same. You send more stuff to the server for it to do checks then the server only sends what everyone else needs to know. In our case, the ID and the new position.

Your still increasing the traffic to and from every player and server which in turn will increase lag. The difference is the clients are staying ahead of the server which is generally always bad. Everyone is reliant on everyone else so if one person lags everyone lags.

Why wouldn't someone send a fake packet? Isn't that the whole reason "hackers" do what they do? TQ did minimal security and look at what happened. TQ thought noone would figure out the speed variable held client side and then someone decided to mess around and found how to do speed. TQ thought noone would figure out how to change english to chinese inside the client to make a multi and then someone chnaged it and now we got multi made 3 sec after any patch.

The server still has to update and manage everything because what if noone is on screen? Then the person can do what ever he wants. What if the person loses power and the server never gets a DC message. The server wouldn't know where to log him in at or how much HP or Mana or anything.

kvdk 07-22-2009 19:27

Quote:

Originally Posted by Clenk~V.7 (Post 10598850)
The packet size is not the same. You send more stuff to the server for it to do checks then the server only sends what everyone else needs to know. In our case, the ID and the new position.

Your still increasing the traffic to and from every player and server which in turn will increase lag. The difference is the clients are staying ahead of the server which is generally always bad. Everyone is reliant on everyone else so if one person lags everyone lags.

Why wouldn't someone send a fake packet? Isn't that the whole reason "hackers" do what they do? TQ did minimal security and look at what happened. TQ thought noone would figure out the speed variable held client side and then someone decided to mess around and found how to do speed. TQ thought noone would figure out how to change english to chinese inside the client to make a multi and then someone chnaged it and now we got multi made 3 sec after any patch.

The server still has to update and manage everything because what if noone is on screen? Then the person can do what ever he wants. What if the person loses power and the server never gets a DC message. The server wouldn't know where to log him in at or how much HP or Mana or anything.

player1 sends info he normally sends to the server to people
players2 - 20 send a verification package to the server

that is it, unless something is wrong, then more packages are send to D/C the hacker

Clenk~V.7 07-22-2009 21:46

Quote:

Originally Posted by kvdk (Post 10598986)
player1 sends info he normally sends to the server to people
players2 - 20 send a verification package to the server

that is it, unless something is wrong, then more packages are send to D/C the hacker

Wait 2-10 are those within the RL range and 11-20 are the ones on map still?

Do you understand why we get "lagspikes"? The client gets overwhelmed and it takes a bit longer to do things. Your adding ALOT more things that the client has to do.

Draconis71 07-23-2009 01:15

"in range" for 2-3 screens? What about the HUGE maps on the way to Adventure Zone? Not too populated, most of the time...

kvdk 07-23-2009 04:54

Quote:

Originally Posted by Clenk~V.7 (Post 10599108)
Wait 2-10 are those within the RL range and 11-20 are the ones on map still?

Do you understand why we get "lagspikes"? The client gets overwhelmed and it takes a bit longer to do things. Your adding ALOT more things that the client has to do.

look, stop being a moron about this, and stop looking at it the way it is..

take a CLEAN algorithm, not the one TQ currently uses with some changes, but a NEW CLEAN one...

p2p networks work on the same principle as we are discussing here
how would it cause lag, to remove stress from the server and increase speed?

Clenk~V.7 07-23-2009 10:30

Quote:

Originally Posted by kvdk (Post 10599460)
look, stop being a moron about this, and stop looking at it the way it is..

take a CLEAN algorithm, not the one TQ currently uses with some changes, but a NEW CLEAN one...

p2p networks work on the same principle as we are discussing here
how would it cause lag, to remove stress from the server and increase speed?

I'm not being a moron about this. I'm being realistic about this. You think this will be the solution for all the lag but you don't understand servers are meant to do these types of things. And do you understand the server does alot of things that the clients don't have to do? With this there will be a lot of things that will eat up your cpu.

There is a big difference between p2p networks and this. p2p networks are simple and there are no calculations needed. While doing this with any game will cause everyone to lag more and decrease fps for majority of the players.

I just realized because a friend was complaining that his net was capped that this will own almost everyone who has a cap on their bandwidth.

kvdk 07-23-2009 10:52

Quote:

Originally Posted by Clenk~V.7 (Post 10599784)
I'm not being a moron about this. I'm being realistic about this. You think this will be the solution for all the lag but you don't understand servers are meant to do these types of things. And do you understand the server does alot of things that the clients don't have to do? With this there will be a lot of things that will eat up your cpu.

There is a big difference between p2p networks and this. p2p networks are simple and there are no calculations needed. While doing this with any game will cause everyone to lag more and decrease fps for majority of the players.

I just realized because a friend was complaining that his net was capped that this will own almost everyone who has a cap on their bandwidth.

ello, seen me saying that thing about running a double network?

ooh, and p2p networks are easier??
THEY TRANSFER HUGE FILES FFS!

i am sorry, but saying a p2p network is LESS work then some simple character info is pure bull****..

i can, and have simulated a full P2P network...
when transfering raw data it works faster then when its transfering full binary's...

and the servers these days aint that much better then the average PC [and tq's are worse!], yet they manage to do all the calculations for every player on the whole server, so the PC's will be able to handle everything easy...

Clenk~V.7 07-23-2009 12:59

Quote:

Originally Posted by kvdk (Post 10599812)
ello, seen me saying that thing about running a double network?

ooh, and p2p networks are easier??
THEY TRANSFER HUGE FILES FFS!

i am sorry, but saying a p2p network is LESS work then some simple character info is pure bull****..

i can, and have simulated a full P2P network...
when transfering raw data it works faster then when its transfering full binary's...

and the servers these days aint that much better then the average PC [and tq's are worse!], yet they manage to do all the calculations for every player on the whole server, so the PC's will be able to handle everything easy...

Its pretty apparent you never programmed before. p2p networks outside of the connection setup and closing which is the same for every connection setup and closing only have a few different packet structures and their file management is easy. They have to send the offset needed and size needed. And they receive the offset to start at, the size, and the info. The management is done just through a byte array or using the OS file management system and just writing directly to disc as receiving.

I've had to make a simple p2p network for class in 4 hours and my server has one hooked up to it for friends to use that I made as well. Mines even compatible with torrents and it was easy as hell.

Servers are always superior to PC's for the fact they don't got to do anything besides basic computations. Do you think that it takes more time to render or update and send/receive packets? Besides horribly written collision and sorting algorithms, rendering is always the most time consuming part of the game loop.

Actually I don't know why I'm even trying to explain anymore, you never programmed before and you just think everything will work perfectly although next to no PC game does anything like this for all the reasons I've said.

theRationalOne 07-23-2009 15:27

clenk, why do you even bother? =P

kvdk 07-23-2009 16:06

Quote:

Originally Posted by Clenk~V.7 (Post 10599940)
Its pretty apparent you never programmed before. p2p networks outside of the connection setup and closing which is the same for every connection setup and closing only have a few different packet structures and their file management is easy. They have to send the offset needed and size needed. And they receive the offset to start at, the size, and the info. The management is done just through a byte array or using the OS file management system and just writing directly to disc as receiving.

I've had to make a simple p2p network for class in 4 hours and my server has one hooked up to it for friends to use that I made as well. Mines even compatible with torrents and it was easy as hell.

Servers are always superior to PC's for the fact they don't got to do anything besides basic computations. Do you think that it takes more time to render or update and send/receive packets? Besides horribly written collision and sorting algorithms, rendering is always the most time consuming part of the game loop.

Actually I don't know why I'm even trying to explain anymore, you never programmed before and you just think everything will work perfectly although next to no PC game does anything like this for all the reasons I've said.

i have programmed before, and if you dont believe me that is your choice

but appearently you do not know how C++ works, the language CO is written in [atleast, that is what people seem to say]
and C++ is one of the FEW languages, that can support upto 64 threads being active at the same time, and even allow for them to interact without slowing eachother

creating such a system is hard, but not impossible

and why most games dont use it? cause client<>server is easier and their servers aint ****ty win95 PC's!

Toxicosis 07-23-2009 18:29

I play two online games with p2p gaming network. A lot of hacking and lag comes from it :(

The other players internet must be very good for this to work. Everybody needs fast network for it, and this does not happen. . !
Even the game that uses p2p has a server for relay, and it adds up to 50 ping to normal times. I think it is a bad idea still. . :(

Clenk~V.7 07-23-2009 18:50

Quote:

Originally Posted by theRationalOne (Post 10600105)
clenk, why do you even bother? =P

Not really sure at this point.
Quote:

Originally Posted by kvdk (Post 10600158)
i have programmed before, and if you dont believe me that is your choice

but appearently you do not know how C++ works, the language CO is written in [atleast, that is what people seem to say]
and C++ is one of the FEW languages, that can support upto 64 threads being active at the same time, and even allow for them to interact without slowing eachother

creating such a system is hard, but not impossible

and why most games dont use it? cause client<>server is easier and their servers aint ****ty win95 PC's!

You do realize after it is compiled down it doesn't matter what language it was written in? I've decompiled CO into a couple different languages but yes, almost all PC games are written in C++ since C++ is more or less the easiest programming language to learn and has all the nice pretty things with it.

You realize any information being used by one thread has to be locked if any other thread as access to it. Meaning if two threads come onto the same variable one thread will freeze as the other finishes what it does. Just to enlighten you a bit, your processor isn't very smart. A few lines in C++ equates to several lines in assembly. A while loop for example is atleast 6 lines for an empty loop. Your processor may stop in any line of assembly which could be in middle of a line of C++ code. Actually generally it always does since it has no idea what C++ is. Lets say in C++ in one thread you write SomeRandomGlobalVariable = 50. In another thread you do SomeRandomGlobalVariable = 60. The first thread may be switched over after it writes half the binary for 50 and then the second thread will write 60 then switch back to the first to finish writing the last half of 50.

You also realize creating multiple threads on a single core machine will end up being slower than having only one thread?

I would like to see you run a CO server and have a hundred people login it and see how much worse your PC is than TQ's servers.

Quote:

Originally Posted by Toxicosis (Post 10600284)
I play two online games with p2p gaming network. A lot of hacking and lag comes from it :(

The other players internet must be very good for this to work. Everybody needs fast network for it, and this does not happen. . !
Even the game that uses p2p has a server for relay, and it adds up to 50 ping to normal times. I think it is a bad idea still. . :(

What games actualy use it? I've asked around but I couldn't find any that were up for more than a couple months.

kvdk 07-24-2009 06:17

Quote:

Originally Posted by Clenk~V.7 (Post 10600318)
Not really sure at this point.


You do realize after it is compiled down it doesn't matter what language it was written in? I've decompiled CO into a couple different languages but yes, almost all PC games are written in C++ since C++ is more or less the easiest programming language to learn and has all the nice pretty things with it.

You realize any information being used by one thread has to be locked if any other thread as access to it. Meaning if two threads come onto the same variable one thread will freeze as the other finishes what it does. Just to enlighten you a bit, your processor isn't very smart. A few lines in C++ equates to several lines in assembly. A while loop for example is atleast 6 lines for an empty loop. Your processor may stop in any line of assembly which could be in middle of a line of C++ code. Actually generally it always does since it has no idea what C++ is. Lets say in C++ in one thread you write SomeRandomGlobalVariable = 50. In another thread you do SomeRandomGlobalVariable = 60. The first thread may be switched over after it writes half the binary for 50 and then the second thread will write 60 then switch back to the first to finish writing the last half of 50.

You also realize creating multiple threads on a single core machine will end up being slower than having only one thread?

I would like to see you run a CO server and have a hundred people login it and see how much worse your PC is than TQ's servers.


What games actualy use it? I've asked around but I couldn't find any that were up for more than a couple months.

my whole network survived a DDoS attack without any trouble...

and i know servers these days aint that much diferend becouse i got a few racks myself!

and even then, each user only needs to run about 1% of the servers tasks, the extra time needed only exists on single cores
and those are so fast these days that with 2 threads they can manage it easy...

running seperate loops is easy, hell, i could do it in VB6, and that was made for win95...
and even then it works the way it should, without the variables interfearing, and at the correct speed

Clenk~V.7 07-24-2009 09:11

Quote:

Originally Posted by kvdk (Post 10600767)
my whole network survived a DDoS attack without any trouble...

and i know servers these days aint that much diferend becouse i got a few racks myself!

and even then, each user only needs to run about 1% of the servers tasks, the extra time needed only exists on single cores
and those are so fast these days that with 2 threads they can manage it easy...

running seperate loops is easy, hell, i could do it in VB6, and that was made for win95...
and even then it works the way it should, without the variables interfearing, and at the correct speed

Non servers survive DDoS attacks easily most of the times. Close your ports and lock the ones that are already opened and DDoS has a minimal effect on your computer. Servers normally keep several ports open which gives the attacker more targets.

No they have to run the full thing. The movements and skills will take up more han 1% of what the server does. Only thing added they deal with is damage calculations and monster database. Also why only have it for movement when you still got to wait for the server to figure out collisions and damages.

Well you have no control at all over the running spreed of processes. All you can do is set the priority and hope your PC is nice enough to listen to it.

kvdk 07-24-2009 10:32

Quote:

Originally Posted by Clenk~V.7 (Post 10600902)
Non servers survive DDoS attacks easily most of the times. Close your ports and lock the ones that are already opened and DDoS has a minimal effect on your computer. Servers normally keep several ports open which gives the attacker more targets.

No they have to run the full thing. The movements and skills will take up more han 1% of what the server does. Only thing added they deal with is damage calculations and monster database. Also why only have it for movement when you still got to wait for the server to figure out collisions and damages.

Well you have no control at all over the running spreed of processes. All you can do is set the priority and hope your PC is nice enough to listen to it.

my network contains multiple webservers, and those all got the gates open for tons of applications

and last but not least, cause i am getting sick of this..

give a better sollution then, becouse all i see you doing is saying why this wont work..
WELL THE CURRENT SYSTEM IS WORSE, AND ATLEAST PEOPLE ARE TRYING TO FIX IT!

so either present a fix, or stop comming into this topic saying it wont work..
with how it currently is, no way to screw it up even more...

Clenk~V.7 07-24-2009 10:42

Quote:

Originally Posted by kvdk (Post 10600942)
my network contains multiple webservers, and those all got the gates open for tons of applications

and last but not least, cause i am getting sick of this..

give a better sollution then, becouse all i see you doing is saying why this wont work..
WELL THE CURRENT SYSTEM IS WORSE, AND ATLEAST PEOPLE ARE TRYING TO FIX IT!

so either present a fix, or stop comming into this topic saying it wont work..
with how it currently is, no way to screw it up even more...

I doubt you got multiple web servers. I doubt you even got one web server. But any half way decent person will keep ports closed if not in use. Even if applications are using the ports, DDoS will have a minimal effect since everything but games use TCIP connections where your network card wont even recognize a packet that isnt from the IP and port linked to the local port. DDoS effects the open ports who are awaiting a connection and the few ports open for UDP.

The current system is not bad. It works like every other MMO system works. Dont get me wrong, the packets are larger than they need to be and they send some things that they dont need to send. But losing 3-4 bytes on some packets wont decrease the lag any. The current system sufficed for several years without people complaining about it and even now I rarely hear anyone complain about constant lag. It is generally lag spikes which are generally your fault not the servers.

Also shall I go through every suggestion you voted no for and say the same **** you just said?

eeyore 07-24-2009 11:43

My knowledge in these areas is fairly minimal but the things Clenk says make a lot of sense to me.

Server currently gets one bit of information from a single client and updates the rest.

Your proposal, server waits to receive data from 5 clients verifying that the one client is legit. That sounds like a lot more processing to me. Also, if one of the 5 clients is lagging...what then? Your movement is only as fast as the slowest client around you?

I think this method would work on a turn based game...but I don't think it would work well on a real time PVP mmorpg.

SORRY CLENK!!

Clenk~V.7 07-24-2009 13:46

Quote:

Originally Posted by eeyore (Post 10600994)
My knowledge in these areas is fairly minimal but the things Clank says make a lot of sense to me.

Don't make me throw Ratchet at you.

kvdk 07-24-2009 14:54

Quote:

Originally Posted by eeyore (Post 10600994)
My knowledge in these areas is fairly minimal but the things Clank says make a lot of sense to me.

Server currently gets one bit of information from a single client and updates the rest.

Your proposal, server waits to receive data from 5 clients verifying that the one client is legit. That sounds like a lot more processing to me. Also, if one of the 5 clients is lagging...what then? Your movement is only as fast as the slowest client around you?

I think this method would work on a turn based game...but I don't think it would work well on a real time PVP mmorpg.

no, you would react instant, and as soon as any client receives info they react...

yes, there will still be lag...

but the point stays, the lag will be less becouse its directly from client2client and the server is not in between

isti37 07-25-2009 15:22

I just left you two to argue on this subject...
There is a way to get around the lag while pvping.

Actually a p2p network has a very fast and reliable method of sending information. If co would want to be secure it means that all of these will be wrong.
unanynomous/unsecure = fast , secure/anynomous = slow

How it could be :

0. The server checks the speed of connection (ping) of a client when connecting to the server.
1. The server will connect to the 100 lowest ping players of the game and make miniservers from them, also it will connect with the GB server to make the data flow uninteruptable.
2. The 100 players will connect with 30 other players each which are the fastest to them and send the information through them and the server.
100x30 = 3000 players. Also the same thing would continue if the fastest player will find another fast player to connect to and it will connect other 10-20 players which are fastest to him. Network administrators are doing the same thing but not automatically to maintain the ping and speed of their clients at the best.
3. You will always have 3 different routes from your area/continent and if the current peer will start lagging you will automatically connect to another.
4. There are more jobs but we can suppose that each jump will increase the ping with 20 isn't so bad. Slowly a lot of people will have acces to 50/100 mbps internet and the peering would become better. (like me)

kvdk 07-25-2009 15:38

Quote:

Originally Posted by isti37 (Post 10601956)
I just left you two to argue on this subject...
There is a way to get around the lag while pvping.

Actually a p2p network has a very fast and reliable method of sending information. If co would want to be secure it means that all of these will be wrong.
unanynomous/unsecure = fast , secure/anynomous = slow

How it could be :

0. The server checks the speed of connection (ping) of a client when connecting to the server.
1. The server will connect to the 100 lowest ping players of the game and make miniservers from them, also it will connect with the GB server to make the data flow uninteruptable.
2. The 100 players will connect with 30 other players each which are the fastest to them and send the information through them and the server.
100x30 = 3000 players. Also the same thing would continue if the fastest player will find another fast player to connect to and it will connect other 10-20 players which are fastest to him. Network administrators are doing the same thing but not automatically to maintain the ping and speed of their clients the best.
3. You will always have 3 different routes from your area/continent and if the current peer will start lagging you will automatically connect to another.
4. There are more jobs but we can suppose that each jump will increase the ping with 20 isn't so bad. Slowly a lot of people will have acces to 50/100 mbps internet and the peering would become better. (like me)

you know, TQ should do that..

instead of having 1 server per 'server'
have 4 on diferend locations in the world..

china, europa, australia and america

those 4 interact with one another over glass lines, removing a lot of lag
[especially since data is send after being verified]

those then send it to all needed players in their area..

add the fastest players themselves as subservers, and you will have a huge treenet

hard to setup, but if it works, the players will all have [almost] equal ping


All times are GMT -7. The time now is 03:53.