Donations
|
If you wish to make a donation you can by clicking the image below.
|
|
|
|
17th December, 2008, 02:28 PM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Can WebAdmin cause lag on servers ?
Hi,
I'm actually working on a tool that uses UT2004's WebAdmin pages to get connected players list and to display WebAdmin chat console so I'm wondering if WebAdmin could create lag on a server when admins are using my tool.
I tested it with more than 10 different sessions refreshing chat console every 5 seconds and I didn't notice pics of lag...but I would feel better if experts like you confirm it
Last edited by pataguillon : 17th December, 2008 at 02:29 PM.
Reason: Forgot to give the name of the game concerned ;)
|
18th December, 2008, 01:48 PM
|
Unstoppable
|
|
Join Date: Mar 2007
Posts: 208
|
|
well, on our servers it does lag when you log in as webadmin or modify settings.
__________________
(Clanmember-/Admin-enter-messages, Clantag-Protection, Clanchat, Player-Logging, AFK-Detector, WhoIs, "second" private server to keep non-clanmembers out and much more.) Source included.
|
18th December, 2008, 05:03 PM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Quote:
Originally Posted by Mc.Gugi
well, on our servers it does lag when you log in as webadmin or modify settings.
|
Oh no... this means I should find another way to get players list etc. than using WebAdmin ?
|
19th December, 2008, 10:48 AM
|
Unstoppable
|
|
Join Date: Mar 2007
Posts: 208
|
|
Well, dunno. But you could also use a TCPLink and send the needed data that way.
__________________
(Clanmember-/Admin-enter-messages, Clantag-Protection, Clanchat, Player-Logging, AFK-Detector, WhoIs, "second" private server to keep non-clanmembers out and much more.) Source included.
|
19th December, 2008, 09:05 PM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Well, the thing is I need to get same data than in WebAdmin. I mean, players guids, ip, name...for all players (playing or spectating) connected to our server.
Are you sure that WebAdmin loggin causes lag on servers ? If yes, why isn't there a fix for this problem or another solution to have same data ?
Now, if it causes lag, it would explain why we are having some bad lag spikes sometimes on our server for several weeks...because my tool connects to WebAdmin every 5 seconds for each user of this tool (more than 5 very active admins...).
That's annoying because this admin tool is close to be releasable in public...I need yo find a solution. The first that came to my mind is to connect only once to WebAdmin (with fopen() function) and only refresh and read content (with fread() function)...but I haven't found yet how to keep the handle returned by the fopen in memory when I refresh the webpage...lot of work to do on this problem, so ! :p
|
19th December, 2008, 09:17 PM
|
|
out of order
|
|
Join Date: Sep 2003
Posts: 3,383
|
|
It's a web server, so you need to connect for every request. How about not connecting that often, though? Does the tool really need to connect every 5 seconds?
|
20th December, 2008, 06:24 PM
|
Unstoppable
|
|
Join Date: Mar 2007
Posts: 208
|
|
mh, I don't know exactly why it lags the server, but I guess that it needs so much bandwidth to upload the various data (maps, players, etc.) to the webadmin-client that nothing is left over for the players for several ticks.
(We have around 500 maps on the server...)
If you'd use a TCP/UDP-Link you could control how much and exactly what is uploaded, I think.
__________________
(Clanmember-/Admin-enter-messages, Clantag-Protection, Clanchat, Player-Logging, AFK-Detector, WhoIs, "second" private server to keep non-clanmembers out and much more.) Source included.
|
20th December, 2008, 06:33 PM
|
|
out of order
|
|
Join Date: Sep 2003
Posts: 3,383
|
|
WebAdmin is limited to processing a request and send the reply within the same tick. Larger data chunks like images or the chat on a server with talkative players will take more time and cause the other server tasks (player movement etc.) to be halted until the data is processed. This is true across all UT generations, btw.
Like Mc.Gugi, I recommend using a separate TcpLink or UdpLink class to (1) spread larger data transfers across several ticks and (2) only transfer data that is really required by your tool, not the entire HTML code of the corresponding webadmin page(s).
|
21st December, 2008, 02:24 PM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Quote:
Originally Posted by Wormbo
WebAdmin is limited to processing a request and send the reply within the same tick. Larger data chunks like images or the chat on a server with talkative players will take more time and cause the other server tasks (player movement etc.) to be halted until the data is processed. This is true across all UT generations, btw.
Like Mc.Gugi, I recommend using a separate TcpLink or UdpLink class to (1) spread larger data transfers across several ticks and (2) only transfer data that is really required by your tool, not the entire HTML code of the corresponding webadmin page(s).
|
Well, it's difficult to believe that you need to login for every request to WebAdmin...or I'm missing something...isn't there something session management in WebAdmin ? Or is it the WebBrowser who manages this ?
For the TCP/UDP links, it would be cool but it would mean create a mutator which would retrieve same data that WebAdmin ?
For the 5 seconds refresh, it's because my tool displays chat console from WebAdmin. But it's just one page of my tool which uses WebAdmin's players and chat console pages... other pages of my tool are not linked to WebAdmin. So I just need a way to get same data that these WebAdmin pages without creating lag on the server because of the amount of my users
Another idea I got but I don't know how hard/possible it would be : create a WebAdmin data manager in my tool which would be the only one thing to login to WebAdmin then make users of my tool get data from this manager...but I'm pretty sure it gonna be hard to create this manager which would have to stay active from server side all the time...
|
22nd December, 2008, 07:40 AM
|
|
Holy Shit!!
|
|
Join Date: Jul 2005
Posts: 800
|
|
Quote:
Originally Posted by pataguillon
Well, it's difficult to believe that you need to login for every request to WebAdmin...or I'm missing something...isn't there something session management in WebAdmin ? Or is it the WebBrowser who manages this ?
|
To save you the hassle of retyping your authentication data for every request, your browser caches it and uses it whenever needed.
Quote:
Originally Posted by pataguillon
For the TCP/UDP links, it would be cool but it would mean create a mutator which would retrieve same data that WebAdmin ?
|
Probably the best solution. But that'd indeed require you to create a server actor.
Quote:
Originally Posted by pataguillon
Another idea I got but I don't know how hard/possible it would be : create a WebAdmin data manager in my tool which would be the only one thing to login to WebAdmin then make users of my tool get data from this manager...but I'm pretty sure it gonna be hard to create this manager which would have to stay active from server side all the time...
|
The problem with this idea is that some servers are rent... and the companies renting the server probably won't want to run something along the server.
|
22nd December, 2008, 08:01 AM
|
|
out of order
|
|
Join Date: Sep 2003
Posts: 3,383
|
|
If you don't want a separate TCP or UDP link, then how about creating a dedicated WebApplication for your tool? That way you could at least reduce the amount of data that needs to be transmitted, while still using a HTTP interface.
|
22nd December, 2008, 10:37 AM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Quote:
Originally Posted by ARsEnAl51
The problem with this idea is that some servers are rent... and the companies renting the server probably won't want to run something along the server.
|
You're right, servers providers will never accept such solution running on their side. And yeah, maybe the mutator will be the best solution so I'm going to have to learn about it but I know I'll find good examples and tutorials
Quote:
Originally Posted by Wormbo
If you don't want a separate TCP or UDP link, then how about creating a dedicated WebApplication for your tool? That way you could at least reduce the amount of data that needs to be transmitted, while still using a HTTP interface.
|
I'm not sure I understand what you mean...anyway, what you said makes me think about another possibility : create a new page in our WebAdmin to retrieve only data we need...the problem is : I don't have any idea about how the WebAdmin server API looks like (what can be called, how to call them, etc.) and I'm pretty sure you can't find documentation or source code of WebAdmin.
|
22nd December, 2008, 11:40 AM
|
|
out of order
|
|
Join Date: Sep 2003
Posts: 3,383
|
|
WebAdmin is based on TcpLink and mostly implemented in UnrealScript. Only a few functions for accessing the file system and doing expensive conversions are implemented in native code. In other words, you can have a look at how exactly it works by extracting the sources as usual.
|
22nd December, 2008, 01:53 PM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
OK, another possibility came to me looking at "what others did" ^^
I discovered that ServerExt implemented enhanced serverQuery which maybe I could use to get data about players...the problem is : maybe it will also create lag on the server...I don't have a clue but it's an UDP link here (drawback : it can loose some packets of data...).
Then I would just miss the chat console thing...maybe I could read chat logs file on the server directly if it's written simultaneously in the file/game...but I think I already checked this and I think I remember it writes the chat logs file at the end of each match...
I'll check all we said tonight because I can't check server files at work
|
23rd December, 2008, 10:46 AM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Quote:
Originally Posted by Wormbo
WebAdmin is based on TcpLink and mostly implemented in UnrealScript. Only a few functions for accessing the file system and doing expensive conversions are implemented in native code. In other words, you can have a look at how exactly it works by extracting the sources as usual.
|
Well, I extracted sources yesterday night. I didn't know how was looking UnrealScript...it seems to be a nice coding language (sounds familiar to my c++ skills ).
So, I gonna study current WebAdmin implementation to be able to choose the best solution for my problem (new WebAdmin page, WebQueries or new mutator) .
Thank you all for your advice.
I'll keep you informed
|
23rd December, 2008, 12:01 PM
|
|
out of order
|
|
Join Date: Sep 2003
Posts: 3,383
|
|
Hint: WebAdmin is implemented as two WebApplications for the UT WebServer. One for the HTML stuff, the other for resource files, such as images, stylesheets, etc.
|
28th December, 2008, 01:05 AM
|
Forum Newcomer
|
|
Join Date: Jul 2006
Posts: 8
|
|
Ok, here is where I am in my last investigations :
I focused on my main problem in a first time : the chat console. I extracted sources of TitanAdmins package which permits to do what I want. I discovered they get current console through the WebQuery server they created in their mutator. So I guess I would have to do exactly the same code in my mutator...which would be a waste of time, in my opinion. I would be tempted by using their mutator directly but I don't know if it would create less lag on our server than WebAdmin...and I don't how to check this...
Else, with this Titan mutator, all my problems would be fixed using their WebQueries...so it would be the solution "webqueries in an existing mutator"
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting 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
|
|
|
|