Cool. A new package helper could be used to add the new renderers.
It is only something you could trust to a security aware tool.
XC_Engine [20] - XC_Core [7b] - XC_IpDrv
-
- Godlike
- Posts: 3348
- Joined: Thu Aug 04, 2011 9:26 pm
- Personal rank: Chaos Evangelist
- Location: Kernow, UK
Re: XC_GameEngine [private] [windows]
UT99.org House Rules
ChaosUT https://chaoticdreams.org
Your Unreal resources: https://yourunreal.wordpress.com
The UT99/UnReal Directory: https://forumdirectory.freeforums.org
Find me on Steam and GoG
ChaosUT https://chaoticdreams.org
Your Unreal resources: https://yourunreal.wordpress.com
The UT99/UnReal Directory: https://forumdirectory.freeforums.org
Find me on Steam and GoG
Re: XC_GameEngine [private] [windows]
billybill wrote:I wanted to ask Higor, if a server changes the map at the last second, or only tells the client once the new map is loading. Example from client-side being the map name is different to what it says it's going to be. Might say connecting to DM-Gothic but then you change to another map. Do you know if this recaches that map so the client would actually be caching both maps or would it be one and then the other, or does no caching take place?
Second regarding this project, don't forget about this thread http://www.ut99.org/viewtopic.php?f=15&t=5721 (Also on that note, loathsome's suggestion of changing settings at the end of the map is crazy, settings need to change the moment the client disconnects. Or where appropriate: settings are saveconfig()ed before being changed, seems to work in a lot of cases)
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [private] [windows]
- Client only loads a map when the server has already transferred the huge network communication table that contains packages and classes, and a few replicated actors.
- The server may redirect you to other URL's via mods.
- The server may lie about it's active map on the query tab.
The client displaying an erroneous map name is a bug caused by name-caching (guessing) during connection, ideally the map name should only be displayed during connection AFTER the UPackageMap network list is transferred.
- The server may redirect you to other URL's via mods.
- The server may lie about it's active map on the query tab.
The client displaying an erroneous map name is a bug caused by name-caching (guessing) during connection, ideally the map name should only be displayed during connection AFTER the UPackageMap network list is transferred.
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [private]
Just updating the first post, given I was able to get a Linux build (removing the EditObject command)
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [private]
Interesting enough, the inventory passed from map to map is a TMap<FString,FString> where the first element is the Player name, and second one a list of actors and properties.
I wonder at what stage the items are given to the player.
A few extra stuff has been added as well (seen in the first post).
Learning lots of things about how UnrealScript works in conjunction with native code.
The interesting part is that any app can properly have it's own scripting engine provided they have some sort of compiler, class system with default objects and a global field system for properties and functions.
To think such a system was designed for a game back in 1996 truly amazes me.
Code: Select all
Log: [XC_ENGINE] Higor >
Class=Botpack.TMale2 Name=TMale1
{
Weapon=ImpactHammer0
ImpactHammer'CTF-MayakBetaE.ImpactHammer0'
}
Class=Botpack.Translocator Name=Translocator0
{
}
Class=Botpack.ImpactHammer Name=ImpactHammer0
{
AutoSwitchPriority=24
}
Class=Botpack.Miniammo Name=Miniammo12
{
AmmoAmount=30
}
Class=Botpack.enforcer Name=enforcer0
{
AmmoType=Miniammo12
Miniammo'CTF-MayakBetaE.Miniammo12'
AutoSwitchPriority=22
}
A few extra stuff has been added as well (seen in the first post).
Learning lots of things about how UnrealScript works in conjunction with native code.
The interesting part is that any app can properly have it's own scripting engine provided they have some sort of compiler, class system with default objects and a global field system for properties and functions.
To think such a system was designed for a game back in 1996 truly amazes me.
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [private]
Added an extra 'hook' which replaces a pure UScript function in runtime, the candidate was GetWeapon.
What it does, is to rewrite the compiled opcodes of said function altering it's behaviour.
The new GetWeapon will:
- Search for weapon subclasses instead of exact matches (like UTPure)
- Will cycle through weapons of matching subclasses (GetWeapon Weapon is funky)
- Will not fail to bring up a weapon if player has no weapon selected.
Since GetWeapon is a function executed serverside, ALL clients will benefit from this enhacement if they use weapon binds.
Below I have attached the source of the function (and it's inline macros) that rewrite GetWeapon.
Warning: HUGE UNREALSCRIPT KNOWLEDGE BOMB You may hop onto and try the GetWeapon commands yourself, pick any CTF/Siege gametype that has LCWeapons and try either default UT weapon names or simply 'Weapon' and you'll notice the difference.
What it does, is to rewrite the compiled opcodes of said function altering it's behaviour.
The new GetWeapon will:
- Search for weapon subclasses instead of exact matches (like UTPure)
- Will cycle through weapons of matching subclasses (GetWeapon Weapon is funky)
- Will not fail to bring up a weapon if player has no weapon selected.
Since GetWeapon is a function executed serverside, ALL clients will benefit from this enhacement if they use weapon binds.
Below I have attached the source of the function (and it's inline macros) that rewrite GetWeapon.
Warning: HUGE UNREALSCRIPT KNOWLEDGE BOMB You may hop onto and try the GetWeapon commands yourself, pick any CTF/Siege gametype that has LCWeapons and try either default UT weapon names or simply 'Weapon' and you'll notice the difference.
You do not have the required permissions to view the files attached to this post.
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [test build - speed/timing fix]
Updated first post.
Test build 2 available.
(forgot to change the building number in binary... oops)
Papercoffee, what forum section do you thing it's appropiate to put this into... it looks more of a patch/extension than a 'mod' or anything
Test build 2 available.
(forgot to change the building number in binary... oops)
Papercoffee, what forum section do you thing it's appropiate to put this into... it looks more of a patch/extension than a 'mod' or anything
-
- Godlike
- Posts: 10494
- Joined: Wed Jul 15, 2009 11:36 am
- Personal rank: coffee addicted !!!
- Location: Cologne, the city with the big cathedral.
Re: XC_GameEngine [test build - speed/timing fix]
Hm... but it's still a "modification" somehow.
I did see only now that this thread is floating in "General Discussions".
I would move it to "Modifications" or better into the coding section?
Dr.Flay what do you think??
I did see only now that this thread is floating in "General Discussions".
I would move it to "Modifications" or better into the coding section?
Dr.Flay what do you think??
-
- Godlike
- Posts: 1963
- Joined: Sat Sep 17, 2011 4:32 pm
- Personal rank: Dame. Vandora
- Location: TN, USA
Re: XC_GameEngine [test build - speed/timing fix]
Modification patch? lol. Because the coding is all behind this anyway.
-
- Godlike
- Posts: 10494
- Joined: Wed Jul 15, 2009 11:36 am
- Personal rank: coffee addicted !!!
- Location: Cologne, the city with the big cathedral.
Re: XC_GameEngine [test build - speed/timing fix]
Then... moving it into "Modifications" would be the better solution.
Moved
Moved
-
- Adept
- Posts: 441
- Joined: Mon Aug 16, 2010 1:09 pm
Re: XC_GameEngine [test build - speed/timing fix]
================= By Higor ==================
Detected version 451 GameEngine
Unreal engine initialized
Browse() Start: unreal 7777
Browse: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
LoadMap intercept begin...
LoadMap: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
Case-insensitive search: utcrypt -> ../Textures/UTcrypt.utx
Bound to Fire.so
Case-insensitive search: Botpack -> ../System/BotPack.u
Bound to IpDrv.so
Case-insensitive search: SKYBox -> ../Textures/SkyBox.utx
Case-insensitive search: Ambancient -> ../Sounds/AmbAncient.uax
Case-insensitive search: shaneDAY -> ../Textures/ShaneDay.utx
Collecting garbage
Signal: SIGSEGV [segmentation fault]
Aborting.
Exiting.
Name subsystem shut down
Allocation checking disabled
Segmentation fault (core dumped)
here gave error, the server does not start
[Engine.Engine]
GameEngine=XC_Engine.XC_GameEngine
GameRenderDevice=D3DDrv.D3DRenderDevice
AudioDevice=Galaxy.GalaxyAudioSubsystem
NetworkDevice=IpDrv.TcpNetDriver
DemoRecordingDevice=Engine.DemoRecDriver
Console=UTMenu.UTConsole
Language=int
EditorEngine=Editor.EditorEngine
WindowedRenderDevice=SoftDrv.SoftwareRenderDevice
RenderDevice=GlideDrv.GlideRenderDevice
DefaultGame=Botpack.DeathMatchPlus
DefaultServerGame=Botpack.DeathMatchPlus
ViewportManager=WinDrv.WindowsClient
Render=Render.Render
Input=Engine.Input
Canvas=Engine.Canvas
CdPath=C:\uts1inst
RunCount=5
Detected version 451 GameEngine
Unreal engine initialized
Browse() Start: unreal 7777
Browse: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
LoadMap intercept begin...
LoadMap: DM-Curse][.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote
Case-insensitive search: utcrypt -> ../Textures/UTcrypt.utx
Bound to Fire.so
Case-insensitive search: Botpack -> ../System/BotPack.u
Bound to IpDrv.so
Case-insensitive search: SKYBox -> ../Textures/SkyBox.utx
Case-insensitive search: Ambancient -> ../Sounds/AmbAncient.uax
Case-insensitive search: shaneDAY -> ../Textures/ShaneDay.utx
Collecting garbage
Signal: SIGSEGV [segmentation fault]
Aborting.
Exiting.
Name subsystem shut down
Allocation checking disabled
Segmentation fault (core dumped)
here gave error, the server does not start
[Engine.Engine]
GameEngine=XC_Engine.XC_GameEngine
GameRenderDevice=D3DDrv.D3DRenderDevice
AudioDevice=Galaxy.GalaxyAudioSubsystem
NetworkDevice=IpDrv.TcpNetDriver
DemoRecordingDevice=Engine.DemoRecDriver
Console=UTMenu.UTConsole
Language=int
EditorEngine=Editor.EditorEngine
WindowedRenderDevice=SoftDrv.SoftwareRenderDevice
RenderDevice=GlideDrv.GlideRenderDevice
DefaultGame=Botpack.DeathMatchPlus
DefaultServerGame=Botpack.DeathMatchPlus
ViewportManager=WinDrv.WindowsClient
Render=Render.Render
Input=Engine.Input
Canvas=Engine.Canvas
CdPath=C:\uts1inst
RunCount=5
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_GameEngine [test build 3]
What's the command line on that server? (ucc bla bla)
===========================================
UPDATED
- Fixed crash when starting the game with an IP as command line (direct server join).
- Fixed bug causing non-redirected maps being unable to be sent.
- Moving brush tracker fixer can be toggled.
- Map list sorting features, very useful if your OS isn't sorting the map list when calling GetMapName() >>> useful for mapvotes.
- Maps marked as not downloadable no longer require a redirect to be sent to clients.
===========================================
UPDATED
- Fixed crash when starting the game with an IP as command line (direct server join).
- Fixed bug causing non-redirected maps being unable to be sent.
- Moving brush tracker fixer can be toggled.
- Map list sorting features, very useful if your OS isn't sorting the map list when calling GetMapName() >>> useful for mapvotes.
- Maps marked as not downloadable no longer require a redirect to be sent to clients.
-
- Godlike
- Posts: 1963
- Joined: Sat Sep 17, 2011 4:32 pm
- Personal rank: Dame. Vandora
- Location: TN, USA
-
- Adept
- Posts: 441
- Joined: Mon Aug 16, 2010 1:09 pm
Re: XC_GameEngine [test build 3]
./ucc-bin server "DM-Deck16][.unr?game=Botpack.DeathMatchPlus?mutator=CacusMapVote.CacusMapVote" -ini=UnrealTournament.ini -MULTIHOME=189.1.164.75 -userini=User.ini -log=ut99.log -nohomedir &
now i go test in XC_Engine_03.zip
now i go test in XC_Engine_03.zip
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
-
- Average
- Posts: 39
- Joined: Thu Dec 13, 2012 5:13 am
Re: XC_GameEngine [test build 3]
Using IP on startup command now works in V3. No crash.
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript
http://irc.lc/globalgamers/uscript