 |
|
 |
|
|
 |
NCurses shared libs overburden |
 |
 |
|
|
02-17-04 01:34 PM
I have this multiplayer net snake race game that I would like to make
work with multiple platforms, amongst others with curses. Well, this
game is planned to be played mostly at our university server, which
means on one machine that we are all accessing by SSH Client or
XWin-client.
Here is my problem. If more than, for example, 5 players log in at
different times on our snake-server, the game is ok. But then, when
new map is loaded, every client needs to make a new ncurses window for
it's self, and that's where the game fails to work right. What
actually happens is that almost all the windows be monochrome, and
when destroying these structures on next resetting or game end, the
process get SIGSEGV. I used gdb and found out that it generates it
when trying to delwin() * WINDOW.
The only idea of mine is that perhaps libncurses.so get's overburdened
and it fails to give resources to all the players, since they are all
actually at one machine, and it's just one libncurses.so. Also, they
practicaly all request memory from it at the same moment. We don't
have seperate unix machines with networks to try if it will fail that
way, so I am asking you what you think if this could be the problem?
Thanks in advance,
Darko
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: NCurses shared libs overburden |
 |
 |
|
|
02-17-04 01:34 PM
mdanko@tesla.rcub.bg.ac.yu (Darko M.) writes:
> I have this multiplayer net snake race game that I would like to make
> work with multiple platforms, amongst others with curses. Well, this
> game is planned to be played mostly at our university server, which
> means on one machine that we are all accessing by SSH Client or
> XWin-client.
>
> Here is my problem. If more than, for example, 5 players log in at
> different times on our snake-server, the game is ok. But then, when
> new map is loaded, every client needs to make a new ncurses window for
> it's self, and that's where the game fails to work right. What
> actually happens is that almost all the windows be monochrome, and
> when destroying these structures on next resetting or game end, the
> process get SIGSEGV. I used gdb and found out that it generates it
> when trying to delwin() * WINDOW.
>
> The only idea of mine is that perhaps libncurses.so get's overburdened
> and it fails to give resources to all the players, since they are all
> actually at one machine, and it's just one libncurses.so. Also, they
> practicaly all request memory from it at the same moment. We don't
> have seperate unix machines with networks to try if it will fail that
> way, so I am asking you what you think if this could be the problem?
An architecture problem.
Why don't you have a game server and game clients? Then the game
clients with the rendering engine (be it ncurse or opengl) can each
run on a different workstation, and the network traffic is limited to
a consise game state and commands dispatched between the clients and
the server.
--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: NCurses shared libs overburden |
 |
 |
|
|
02-17-04 08:33 PM
>
> Why don't you have a game server and game clients? Then the game
> clients with the rendering engine (be it ncurse or opengl) can each
> run on a different workstation, and the network traffic is limited to
> a consise game state and commands dispatched between the clients and
> the server.
Perhaps the players are using dump terminals and 300 baud modems.
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: NCurses shared libs overburden |
 |
 |
|
|
02-17-04 11:33 PM
In article <ef663480.0402171338.7341318@posting.google.com>, Darko M. wrote:
> I have this multiplayer net snake race game that I would like to make
> work with multiple platforms, amongst others with curses. Well, this
> game is planned to be played mostly at our university server, which
> means on one machine that we are all accessing by SSH Client or
> XWin-client.
>
> Here is my problem. If more than, for example, 5 players log in at
> different times on our snake-server, the game is ok. But then, when
> new map is loaded, every client needs to make a new ncurses window for
> it's self, and that's where the game fails to work right. What
> actually happens is that almost all the windows be monochrome, and
> when destroying these structures on next resetting or game end, the
> process get SIGSEGV. I used gdb and found out that it generates it
> when trying to delwin() * WINDOW.
>
> The only idea of mine is that perhaps libncurses.so get's overburdened
> and it fails to give resources to all the players, since they are all
> actually at one machine, and it's just one libncurses.so. Also, they
> practicaly all request memory from it at the same moment. We don't
> have seperate unix machines with networks to try if it will fail that
> way, so I am asking you what you think if this could be the problem?
I'd say program bug. You'd pretty much use up all virtual memory
before you run out of memory..
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: NCurses shared libs overburden |
 |
 |
|
|
02-18-04 04:33 AM
Alexandre Jasmin <alex.jasmin@sympatico.ca> writes:
>
> Perhaps the players are using dump terminals and 300 baud modems.
Even in that case it may be worthwhile to have a server process and
serveral client processes. Unless the CPU is a IBM 3031 with CICS
where you'd be better with a transactionnal application, but then you
can't be so "interactive"...
--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: NCurses shared libs overburden |
 |
 |
|
|
02-18-04 06:34 AM
>I'd say program bug. You'd pretty much use up all virtual memory
>before you run out of memory...
I don't think that's the problem, 'cause I don't notice any speed
problems nor HDD problems, but I'll still check out if that's the
problem, anyway, though I don't think so.
>Why don't you have a game server and game clients? Then the
game
>clients with the rendering engine (be it ncurse or opengl) can
each
>run on a different workstation, and the network traffic is limited
to
>a consise game state and commands dispatched between the clients
and
>the server.
I actually DO have seperate clients and a server. The problem is that
they will all be most often run at the same machine, on different
terminals ( by a terminal I mean pseudo terminals, eg. telnet or SSH
client ), and that's where the problem ( I suppose ) comes up.
Darko
[ Post a follow-up to this message ]
|
|
|
 |
|
|
|
|
Sponsored Links |
 |
 |
|
|
 |
All times are GMT. The time now is 10:02 PM. |
 |
|
|
 |
|
 |
|
|
 |
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
|
|
|
|
Medical and Health forum | Computer Games Reviews | Graphics design forum
|
 |
|
 |
|