logo
Main

Forums

Downloads

Unreal-Netiquette

Donate for Oldunreal:
Donate

borderline

Links to our wiki:
Wiki

Walkthrough

Links

Tutorials

Unreal Reference

Usermaps

borderline

Contact us:
Submit News
Page Index Toggle Pages: 1 [2] 3  Send TopicPrint
Very Hot Topic (More than 25 Replies) Unreal+UT server IpDrv modification (Read 13821 times)
Hellkeeper
Global Moderator
*****
Offline


Soulless Automaton

Posts: 2815
Location: France
Joined: May 21st, 2008
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #15 - Mar 18th, 2013 at 8:44pm
Print Post  
Everyone calm down, give each other a kiss and shake hands.
  

You must construct additional pylons.
Back to top
WWW  
IP Logged
 
Dr.Flay™
Senior Member
****
Offline


ChaosUT-333networks

Posts: 374
Location: Kernow, UK
Joined: Dec 9th, 2012
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #16 - Mar 19th, 2013 at 6:03am
Print Post  
A map-pack or list of tested maps and mods will be useful as a start-point for any interested server admins.
Also some dos and do nots.
eg. The quad-shot is in UT, but was never usable.

How about a link to the Unreal1 models and skins distributed with Oldskool for UT ?
That's a point, does having Oldskool installed work, or are any packages needing replacing ?

and ...how compatible is the unofficial botpack for Unreal ?
Would it add to, or solve any compatibility issues ?

.... OK I can feel I'm being glared-at now  Roll Eyes
I am not the only one to wonder, or be fool enough to try  Grin
  
Back to top
IP Logged
 
BobIsUnreal
God Member
*****
Offline


Guy who has too much time
invested to quit now

Posts: 757
Joined: Apr 12th, 2010
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #17 - Mar 22nd, 2013 at 8:14am
Print Post  
well i got around to troubleshooting this a bit more since im eager to use it
i used 227i and ut goty to join.

first important thing ,
turn off "OldClientCompatMode" mode  if you have it on ,
otherwise ut clients will never see the proper error and will always get engine mismatch.

then throw away any custom gametype you use and use unrealshare.coopgame ,
assuming your planning on coop because  jcoop and xcoop wont work for this as is.
not sure yet to what effect thats exactly limited too ie mabye all custom gametypes wont work.
but there is various small issues , some of witch may be able to be avoided be recompiling the gamtype in ut first to make sure it isnt calling any missing functions or vars. havnt tried that much yet.


Here's a short list of mods that work or don't work with this addon



what works
dzmapmut
cyberdisc.u
cricket
wingedterror.u
Chrysalid.u
silverback.u
tankboss
present1
SantaBrute.u
muton
ar
sectoid
imp
baron
sspawn2
kami
quakempak2
spinner
predator
TobioTreesa.u
Sectopod.u
reaper.u



what dosnts
jcoopz - fails to load on ut due to timedemo
xcoop - fails to load due to showmotd not being present or something
  

[REM_img]http://i.imgur.com/V3OSsDu.gif.disable[/img]http://i.imgur.com/JOu38Gs.gif
Back to top
IP Logged
 
.:..:
Oldunreal MasterPoster
Developer Team
*
Offline



Posts: 1468
Location: Finland
Joined: Aug 16th, 2005
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #18 - Mar 22nd, 2013 at 8:52am
Print Post  
Indeed forgot to mention that you must disable OldClientCompatMode aswell as UseCompression for ChannelDownload. I updated the first post with that information now.

Most of custom gametypes will not work in UT due to many core changes in Engine.
As for custom maps, haven't tried any other than standard Unreal maps yet.
And getting BotPack to work with both UT and 227 will be next to impossible.

On a side note I host a testing server with this from time-to-time on: unreal://84.250.50.17:7777

On a second note, what exactly UTCoopFix does:
- Replace message lines display for HUD (due to some console ticking differences in UT making messages never disappear on UnrealHUD).
- Network replicate client version # and bAdmin for scoreboard.
- Change zone ground friction to 4 if it is 8 (since default ground friction in UT was changed from 4 to 8).
- Change your players client side JumpSound variable to None (to prevent UT clients from playing client side jump sound too).
  

Shivaxi wrote on Jul 25th, 2013 at 12:50pm:
...and now im stuck trying to fix everything you broke for the next 227 release xD Tongue

(ಠ_ಠ)
Back to top
IP Logged
 
Pcube
Ex Member


Re: Unreal+UT server IpDrv modification
Reply #19 - Mar 22nd, 2013 at 6:03pm
Print Post  
BobIsUnreal wrote on Mar 22nd, 2013 at 8:14am:
what dosnts
jcoopz - fails to load on ut due to timedemo
xcoop - fails to load due to showmotd not being present or something


Simple response: consider the fact that UT99 changed these parameters and definitions for the better as well; just comment out and recompile the few changes in xCoop.

Edit: Actually, nevermind. Then it won't compile or run natively on U1. Leaving this post here to illustrate that I am an idiot.
  
Back to top
 
IP Logged
 
Rob-Bot
Senior Member
****
Offline



Posts: 284
Location: Maryland
Joined: Jan 30th, 2008
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #20 - Mar 22nd, 2013 at 7:31pm
Print Post  
hey just wanted to confirm. Me and some friends from UT played on that server dots. neither of them had the actual game, downloaded any additional files (except for what was on the server), and had version 436 and it worked out fine! But man thanks a bunch for this, this is probably one of the coolest modifcation for unreal and unreal tournament. If you ever want to test it some more give me a date and time and i'll fill that server to the max with ut players. Smiley
  
Back to top
WWW  
IP Logged
 
.:..:
Oldunreal MasterPoster
Developer Team
*
Offline



Posts: 1468
Location: Finland
Joined: Aug 16th, 2005
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #21 - Mar 22nd, 2013 at 10:13pm
Print Post  
Quote:
Simple response: consider the fact that UT99 changed these parameters and definitions for the better as well; just comment out and recompile the few changes in xCoop.

Edit: Actually, nevermind. Then it won't compile or run natively on U1. Leaving this post here to illustrate that I am an idiot.

Actually that is not entirely true, function parameter changes wont prevent mod from loading, simply may crash the game when executed.
So if you modify xcoop in a way that it does not make any references to any missing variables/functions/classes, you might get it running on both ends.
  

Shivaxi wrote on Jul 25th, 2013 at 12:50pm:
...and now im stuck trying to fix everything you broke for the next 227 release xD Tongue

(ಠ_ಠ)
Back to top
IP Logged
 
[]KAOS[]Casey
Developer Team
Betatester
Online


nedm

Posts: 3200
Joined: Aug 7th, 2011
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #22 - Mar 22nd, 2013 at 10:50pm
Print Post  
I just had an interesting idea.

I remembered that it's possible to check Level.EngineVer and execute code that only works on 227, then if not 227, execute an alternate version to work on 225f.

However, I don't think you can fool the Linker into importing 2 functions of the same name, so you'd need some sort of proxy packages, one for UT/225f.. with a modification to this IPDrv maybe we could get it to work.

It'd be kinda tricky though. It probably would just be better to avoid those functions altogether.

I'll do some tests later today.

edit:

it looks like only gametypes custom tailored to the limitations between both of the versions will work. xCoop is basically not happening without some serious legendary hacks, as far as I can tell they're all server side functions though, but I can't begin to imagine the hack hell that would be required to get xCoop working as is.
« Last Edit: Mar 23rd, 2013 at 1:19am by []KAOS[]Casey »  
Back to top
 
IP Logged
 
.:..:
Oldunreal MasterPoster
Developer Team
*
Offline



Posts: 1468
Location: Finland
Joined: Aug 16th, 2005
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #23 - Mar 23rd, 2013 at 7:44am
Print Post  
As an alternative, could modify IpDrv to send an alternative version of xCoop.u for UT clients then create a linker remap file for xCoop for UT client net compatibility.

But either way, we don't really need to worry about function parameter changes in gameinfo for xCoop. If we run xcoop in 227, then gameinfo functions are only executed on 227's side while UT clients only rely on rest.

In other news, I think I fixed the crash with when server sends file to UT clients (my server ran yesterday for like 12 hours straight without crashes, until I turned off my PC when I went to sleep), I updated download link.
  

Shivaxi wrote on Jul 25th, 2013 at 12:50pm:
...and now im stuck trying to fix everything you broke for the next 227 release xD Tongue

(ಠ_ಠ)
Back to top
IP Logged
 
Pcube
Ex Member


Re: Unreal+UT server IpDrv modification
Reply #24 - Mar 23rd, 2013 at 5:52pm
Print Post  
Oh I see. Because GameInfo is server-side the UT client won't trip up on parameter changes in those functions.

When converting JGrass & associated files, I had to make the following changes to get it to compile on UT...
http://pastebin.com/2a4C8zVp

The changes I made there are going to be identical to how xCoop would have to change to compile on UT, so looking at this list to see if the UT client would execute any of this.... I think all of these required changes are server-side, so it's probably OK to just run xCoop and join with UT.

IsUnreal, have you tried running a barebones xCoop w/ no additional serverpackages server?
  
Back to top
 
IP Logged
 
[]KAOS[]Casey
Developer Team
Betatester
Online


nedm

Posts: 3200
Joined: Aug 7th, 2011
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #25 - Mar 23rd, 2013 at 7:43pm
Print Post  
Personally I'd only put effort into JGrass since xcoop is deathly deprecated, but we'd need to make the replication statements for mutate/clientmutate etc match up between UT, so it should be possible provided that the IpDrv is updated to send different files to UT.

This would fork JGrass though, but xcoop is old enough to not really care. In any case, the abilty to use any custom gametype would be awesome. Although I would rather have a choice between a few, as would other admins.
  
Back to top
 
IP Logged
 
.:..:
Oldunreal MasterPoster
Developer Team
*
Offline



Posts: 1468
Location: Finland
Joined: Aug 16th, 2005
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #26 - Mar 24th, 2013 at 11:39am
Print Post  
Also incase you didn't know, you can safely replace GameInfo class on runtime. So essentially JGrass gametype could have a template gameinfo class which only dynamically loads serverside gameinfo class and spawns it which replaces the template.
I did something similar in my server but with a ServerActors:
Code
Select All
Class CoopGameP extends CoopGame;

function PreBeginPlay()
{
	StartTime = 0;
	SetTimer(1.0, true);
}
function PostBeginPlay()
{
	GameReplicationInfo = Level.Game.GameReplicationInfo;
	AccessManager = Level.Game.AccessManager;
	GameRules = Level.Game.GameRules;
	BaseMutator = Level.Game.BaseMutator;
	ScoreBoardType = Level.Game.ScoreBoardType;
	HUDType = Level.Game.HUDType;
	Level.Game.Destroy();
	Level.Game = Self;
} 


That way I can use my own game rules all server side.
  

Shivaxi wrote on Jul 25th, 2013 at 12:50pm:
...and now im stuck trying to fix everything you broke for the next 227 release xD Tongue

(ಠ_ಠ)
Back to top
IP Logged
 
Pcube
Ex Member


Re: Unreal+UT server IpDrv modification
Reply #27 - Mar 24th, 2013 at 6:38pm
Print Post  
.:..: wrote on Mar 24th, 2013 at 11:39am:
Also incase you didn't know, you can safely replace GameInfo class on runtime. So essentially JGrass gametype could have a template gameinfo class which only dynamically loads serverside gameinfo class and spawns it which replaces the template.
I did something similar in my server but with a ServerActors:
Code
Select All
Class CoopGameP extends CoopGame;

function PreBeginPlay()
{
	StartTime = 0;
	SetTimer(1.0, true);
}
function PostBeginPlay()
{
	GameReplicationInfo = Level.Game.GameReplicationInfo;
	AccessManager = Level.Game.AccessManager;
	GameRules = Level.Game.GameRules;
	BaseMutator = Level.Game.BaseMutator;
	ScoreBoardType = Level.Game.ScoreBoardType;
	HUDType = Level.Game.HUDType;
	Level.Game.Destroy();
	Level.Game = Self;
} 


That way I can use my own game rules all server side.


That's pretty cool. Did not know level.game could be safely changed at runtime. JGrass does something sort of like this in that the gameinfo dynamicloads 2 template classes each containing half the relevant function definitions and delegates to them, all serverside.
  
Back to top
 
IP Logged
 
Rob-Bot
Senior Member
****
Offline



Posts: 284
Location: Maryland
Joined: Jan 30th, 2008
Gender: Male
Re: Unreal+UT server IpDrv modification
Reply #28 - Mar 25th, 2013 at 7:11am
Print Post  
Hey Cube, I think it'd be a great idea to look into Utrials aswell. UnrealTournament has a large bunnytracks playerbase and I've told them a lot about the gametype and the majority seem very interested. They're very fond of the boosting aspect being required for obstacles and the first, second, and third place server records. I'd be more than willingy to pay for a 24/7 server, aswell as possibly creating a site dedicated to Utrials. It would also put all those TR maps to use. Just throwing this out there for consideration.

P.S. You wouldn't happen to have the 'Mtextures' file anywhere for the TR-Mokantemple map would you? seems to be the only file I can't find.
  
Back to top
WWW  
IP Logged
 
Pcube
Ex Member


Re: Unreal+UT server IpDrv modification
Reply #29 - Mar 25th, 2013 at 8:22am
Print Post  
Yup, BT is fun as hell. That's where I got the idea for UTrials. Also here's the file: MTextures.utx

Edit: Late at night, didn't read everything totally the first time. That's cool that you know of some people that are interested in UTrials; since this is the thread about UT/U1 stuff... did you mean a UTrials server on UT99 or on U1 (or U1 and exposed to UT99?). Each of these paths has a somehwat different implentation path. Easiest would be UTrials server on UT99 or on U1 exposed solely to U1. I actually got my gametype stuff to run fine on UT99 so it looks just like Unreal, see this
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 [2] 3 
Send TopicPrint
Bookmarks: del.icio.us Digg Facebook Google Google+ Linked in reddit StumbleUpon Twitter Yahoo