working with downloaders

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

BongoBoy

New Member
May 28, 2004
30
0
0
is there any way i can(through a mod or a mutator of course) disconnect a downloader from a server?
UT plz
 

BongoBoy

New Member
May 28, 2004
30
0
0
well i did a downloaders-window, its on the HUD and its shown when someone is downloading from your server(constantly doing SOCKETS function on server side and get the string data from there and send to the clients and server owner)

but sometimes SOCKETS get "stuck", cuz someone is connecting to your server, but stoped downloading, so it can show him there like for 10 minutes(until he connects to another server or change map on his current server or get out of the game or i change map\restart server)... so i wanted to know if i can somehow disconnect him(using his IP or something..?) if he is stuck in the same place for over 1 minute, without changing the map on my server or restarting it.

is it possible?
 

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
It's not possible in UScript but there have been some native modifications for Unreal1 which can potentially do this but the limitations of that code would be it would only work on the 436 patch and ONLY in windows. (even then it's likely to give problems)
So if your doing this as a public release that isn't possible without a lot of difficulty but if you happen to be doing this on your own server only I think it can be done....if your running Windows and 436 :p

I'm capable of coding that but I'm REALLY busy right now, tell me what your plans are anyway and I'll see.
 
Last edited by a moderator:

BongoBoy

New Member
May 28, 2004
30
0
0
i am running windows

my plans are all listed in the message above you...

isn't there something that is spawned or changed when a downloader enters?
i mean, all downloading stops when a map is changed(meaning all vars reset and all classes destroyed) so there must be something
 

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
No nothing in UScript (UT2k4 does but not UT1), tell me more about what version your server is running etc. and I'll see if I can compile you a simple dll file for doing this :) (keep in mind that it may be very tricky to code reliably)

By simple I mean events to tell you when someone starts downloading and how much they have downloaded/total to download and a way to disconnect them. (you would have to do all the UScript coding)
 
Last edited by a moderator:

BongoBoy

New Member
May 28, 2004
30
0
0
[Sixpack]-Shambler- said:
No nothing in UScript (UT2k4 does but not UT1), tell me more about what version your server is running etc. and I'll see if I can compile you a simple dll file for doing this :) (keep in mind that it may be very tricky to code reliably)

By simple I mean events to tell you when someone starts downloading and how much they have downloaded/total to download and a way to disconnect them. (you would have to do all the UScript coding)

thanks :)

well i already know how much they dl/total to dl(SOCKETS command) and when someone download(PreLogin function)

i am actually scripting in Rune, which is a UT-engine-based-game

i'm pretty sure its based on the UT-Game of the year edition, but i will check
 

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
Oh :) In that case it would be very tricky seeing as I don't have Rune....If Rune has C++ public source code I could probably compile the code but I'd have no way of testing it, do a search to see if it does have any public C++ code.
 

Zombie{DZ}

Living Dead
Jan 27, 2004
25
0
0
If somebody is capable of programming a developer friendly native Unreal1 socket parser I'd be very grateful. Currently the only avialable Unreal1 native connection handler mods are locked up from developer usage, and I'm still hoping the author(s) will consider my requests to expand it for usage of the functions on other projects. :/ I'm mainly interested in something that can retrieve an IP at Prelogin too since the normal sockets command tends to backfire once in while at that spot spiting out loads of channel data causing the server to crash.


-Zombie
 
Last edited:

BongoBoy

New Member
May 28, 2004
30
0
0
well i don't have unreal1, i only got Rune and UT-game of the year, so i can't help :(


yeah :) , the Rune Headers was released like a few weeks ago...
wait i'll look it up..

http://www.humanhead.com/files/RunePubSrc107.zip

i can test whatever you want me to

btw if you have time and its not too hard, please try to see if you can do a redirection to downloaders, since downloading is pretty damn slow in rune, redirecting(or somehow making the download faster like in UT) will be great.
but only if you want and it doesn't take much of your time :)
 
Last edited:

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
Zombie:
I know of a coming release of an updated server protection tool that has just that ability ;) (keep any eye out for something from the makers of Kerberos) It may take a while to come but they are planning a public release of it at the moment.
However since I'm already doing this for Boogity and since the new tool might not come out for a while give me info about your server and I'll compile it for you to test out. (however I totally recommend that you try out the other tool when it comes)

Boogity:
Unfortunatly there isn't any way of doing redirects, that would require clientside files aswell for it to work properly and if Rune doesn't already have .uz compression then that can't be done either unfortunatly....However that source you sent is just the right stuff (and seems to have all the functionality needed), I'll see what I can do :)
 

Zombie{DZ}

Living Dead
Jan 27, 2004
25
0
0
That's good news to here SixPack. I've heard little bits about it, but I was never informed of added developer support for the upcoming project... cool.

I run a Co-op v225 server on WinXP, hope that isn't an issue given there is no official 225 public source headers? Thanks for time with this.


-Zombie
 
Last edited:

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
Well seeing as it's 225 there may be some problems :) (I know 'tricks' to get it working in 225 and have done it many times before with my other project...but it's difficult and may take time and/or be unstable in the end)

Sofar I've got the UScript interface working now and it notifies you when someone is trying to connect and when someone tries to download, however at this moment I have no way of finding out how much of the file is downloaded or the total amount needed to be downloaded.
So...can you please explain again to me exactly what functionality you need as that could save me some time experimenting with the code :)
 

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
Ok here is the Rune test version, place the dll in the system folder and compile the .u file...(read through the comments in the code too to see how it works)
Chances are it will give errors, it makes it much much easier for me to fix those errors if you keep the log info from them :)

http://homepage.eircom.net/~JBarrett847/DLNotify.zip


I compiled it for 225 aswell but due to the hackiness of the 225 source I put together it's not working right atm....I might go back over that later on.


Not bad :) six hours since I started it and it seems to work ok on Unreal 224.

EDIT:Oh I got the download total size/transferred size in aswell.
 
Last edited by a moderator:

Zombie{DZ}

Living Dead
Jan 27, 2004
25
0
0
Wow I'm impressed. :O You really should consider making some public native server tools for U1/Rune yourself. Looking at the uc file I see you have a NewConnection event. Is there a way you make an alternate version of the function that called within the prelogin event arguements? It's more effecient checking before that I know, but I plan on still making use of the Error output for rejected players to see :/

You don't have to waste time adding that though if the newer U1 project will have such support. Besides that, is there any place that has an accurate update-to-date native mod tutorial? The stuff on wiki seems to be 2 or more years old and is very vague on how to tap into the engine itself. Anyway, good job with what you turned out in such short time though. :)


-Zombie
 

Shambler[sixpack]

New Member
May 3, 2001
564
0
0
Ireland
Visit site
I'm not sure if I can do a new PreLogin thing with an error message but I'll look at doing that, the new project will have that support btw ;) (it has exactly what you need, a new PreLogin function which passes in the IP address)
I'll try doing that anyway at least to help me learn a bit about how it works.


Believe it or not that stuff on the wiki is fairly accurate :) the only extra pointers I can give are to look at the project settings of existing source packages (ala OpenGL for instance) in MSVC++ and see how that's done. (EDIT: and to examine the public source, that's the only good way you have to learn how the engine works)
 
Last edited by a moderator:

BongoBoy

New Member
May 28, 2004
30
0
0
thanks :)

well like i said, to get the dl size and how much left i used SOCKETS command, its a console command you can write during rune(and ut) and it gives you those details so my mutator just keep sending it(ConsoleCommand("SOCKETS")) and parse the data

well i'm not sure how do i make a uc file a u file, since rune makes them directly u files... but mabye i can import it or something to runeed and it compile it for me...

why gold mine? :)

-edit-
well what i did was simply make a new class in rune(same name same package) and copy-paste all...
everything works except the first part
Code:
class DownloadNotify expands Actor;
	native;
when i compile it, it tells me on " Native; " line " Missing 'function' "
so i just added // and all the rest was compiled...

so now i go test it(put it under mutator and call for UpdateDownloadInfo function every tick right?)

btw is there any way i can get the downloader's name there? i mean, like the name i get on PreLogin, but through-out the downloading, so i will know his name and won't have to start saving all downloaders names in vars and associate them with IPs
 
Last edited: