Pages: 1 2 3 [4] 5 6 ... 15
  Print  
Author Topic: Binaries for 0.8.x test thread  (Read 464843 times)
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #75 on: February 04, 2009, 04:17:22 PM »

Just updated the binaries to 0.8.x-4

g_password and g_humanplayers was not sent correctly causing filtering based on those to fail.
Logged

There are nothing offending in my posts.
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #76 on: February 09, 2009, 10:51:51 AM »

Another report, from Freesoft, serveradmin, this seems to happen on 0.8.0 too, but not before. I don't know if this happens with other servers too, plus I don't know if this is the place to post it:

- With the commandline ./oa_ded.i386 +set dedicated 2 +set net_port 27960 +exec server.cfg, server loads until it gets "frozen" on half of the loading. Then he has to press Enter to get it working. I've attached two screenshots from the console in Ubuntu 8.10, one on the "frozen" state and the other is after it. Server specs are the following:

Processor: AMD DUAL CORE 5200+ X2
RAM: 2Gb DDR 800Mhz
HD: SerialATA 80 Gb
SO: Ubuntu 8.10 Ibex

- In the same server, it only loads without doing nothing with the same commandline if the default config is on, if server.cfg isn't on /.openarena/baseoa.

Those are tested with the new binaries too.
« Last Edit: February 09, 2009, 10:55:22 AM by Neon_Knight » Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #77 on: March 14, 2009, 08:19:56 PM »

@Neon_Knight Without the config causing the problem it can be hard to debug.

Oh and I have just uploaded some new binaries. Congratulations to the people behind non-PAT NAT routers that could not play on the same server - the problem was fixed in ioquake3 svn 1506.
Logged

There are nothing offending in my posts.
christooss
Lesser Nub


Cakes 3
Posts: 121


« Reply #78 on: March 25, 2009, 06:06:52 AM »

NeonKnight I got same problem. I solved it with removing WAIT in server conf file. Its after the maplist loop.
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #79 on: May 05, 2009, 04:18:25 PM »

Jsut upped a new version. Latest ioquake3 svn and increased the max config size.

EDIT:
The Windows version appears to run a bit worse for me. Reasons unknown.
« Last Edit: May 05, 2009, 04:37:04 PM by sago007 » Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #80 on: June 24, 2009, 09:02:52 AM »

I am using a little tweaked engine based on the ioquake3 rev 1574 that includes oa-08x-7 changes plus some other patches :

https://bugzilla.icculus.org/show_bug.cgi?id=3693 -> QL's mouse accel code : Small enhancement that offers a better tweak for the mouse accel (offset and accelpower) without breaking the regular accel. edit : STATUS -> RESOLVED FIXED . The patch was merged into the ioquake3 trunk ( http://svn.icculus.org/quake3?view=rev&revision=1725 )

Quote
This patch comes with an alternate set of cvars to configure and tweak mouse acceleration. Nothing fundamentally new but it's a bit easier to setup mouse acceleration, and it's an option offered in QUAKE LIVE which I'm contributing to the GPL'ed quake3 source already.

Below is a bit of documentation I posted about the system.

TTimo

--

I've been using an experimental mouse acceleration code for a while, and decided to make it available to everyone.

Don't be too worried if you don't understand the explanations below, this is mostly intended for advanced players:

To enable it, set cl_mouseAccelStyle 1 (0 is the default/legacy behavior)

New style is controlled with 3 cvars:
sensitivity
cl_mouseAccelOffset
cl_mouseAccel

The old code (cl_mouseAccelStyle 0) can be difficult to calibrate because if you have a base sensitivity setup, as soon as you set a non zero acceleration your base sensitivity at low speeds will change as well. The other problem with style 0 is that you are stuck on a square (power of two) acceleration curve.

The new code tries to solve both problems:

Once you setup your sensitivity to feel comfortable and accurate enough for low mouse deltas with no acceleration (cl_mouseAccel 0), you can start increasing cl_mouseAccel and tweaking cl_mouseAccelOffset to get the amplification you want for high deltas with little effect on low mouse deltas.

cl_mouseAccel is a power value. Should be >= 1, 2 will be the same power curve as style 0. The higher the value, the faster the amplification grows with the mouse delta.

cl_mouseAccelOffset sets how much base mouse delta will be doubled by acceleration. The closer to zero you bring it, the more acceleration will happen at low speeds. This is also very useful if you are changing to a new mouse with higher dpi, if you go from 500 to 1000 dpi, you can divide your cl_mouseAccelOffset by two to keep the same overall 'feel' (you will likely gain in precision when you do that, but that is not related to mouse acceleration).


Mouse acceleration is tricky to configure, and when you do you'll have to re-learn your aiming. But you will find that it's very much forth it in the long run.


https://bugzilla.icculus.org/show_bug.cgi?id=3780 -> Upgrade unzip.c from version 0.01 alpha to 1.01e (as it is , it needs to be adapted to the latest ioq3 revision ; " ZDIR=$(MOUNT_DIR)/zlib " needs to be inserted in the Makefile ; it could be a security fix , since ioq3 could be vulnerable to ALL bugs of unzip < 1.01e) Edit -> STATUS : RESOLVED FIXED : the patch was merged in ioquake3 svn trunk

https://bugzilla.icculus.org/show_bug.cgi?id=3928 -> Use system cpp instead of q3cpp ( edit : maybe not useful for building the engine ... edit2 : confirmed , I used it for building oax ) Status : RESOLVED WONTFIX

https://bugzilla.icculus.org/show_bug.cgi?id=4012 -> Remove islower, isupper, and isalpha functions EDIT -> STATUS : RESOLVED WONTFIX

https://bugzilla.icculus.org/show_bug.cgi?id=4075 -> Use native OpenSSL MD4 & MD5. Edit -> STATUS : RESOLVED WONTFIX. The patch was rejected because of licence issue as stated by Sago . Anyway I'm still using it until a better implementation will be provided

https://bugzilla.icculus.org/show_bug.cgi?id=3776 -> OpenAL system reports errors inappropriately Edit : STATUS : RESOLVED FIXED . The patch was merged.

http://www.tremfusion.net/~amanieu/alcapture.patch -> OpenAL capture implementation by a Tremfusion developer

http://q3defrag.org/files/dfengine/src/dfengine_1.07.diff -> Rewriting of the Huffman algorithm ( it needs to be exctracted from the global patch and adapted to the latest ioquake3 revision )

https://bugzilla.icculus.org/show_bug.cgi?id=3637 -> QVMs are allowed to dereference NULL ( it needs to be adapted to the latest ioquake3 revision ) Edit : STATUS -> RESOLVED WONTFIX ...
« Last Edit: November 02, 2009, 02:26:06 PM by Falkland » Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #81 on: June 24, 2009, 12:42:20 PM »

Updated to ioquake3 revision 1578

Added the following patches to the previous list :

- https://bugzilla.icculus.org/show_bug.cgi?id=3325 -> Auto load of bots in skirmish fails if unknown bot name Edit : STATUS -> RESOLVED FIXED

- https://bugzilla.icculus.org/show_bug.cgi?id=3721 -> GL cleanup patch ( it needs to be tweaked for correctly applying to the latest ioquake3 ) EDIT : skipped .... see http://openarena.ws/board/index.php?topic=1933.msg26531#msg26531

- http://odin.mercenariesguild.net/quake3/smp_r1515.patch -> !IMPORTANT : fully and working SMP support to ioquake3 back again directly in a single binary client , without having to build the SMP binary ( http://www.ioquake.org/forums/viewtopic.php?f=2&t=125#p861 )

- https://bugzilla.icculus.org/show_bug.cgi?id=3323 -> math routine performance tweaks ( 2 patches : to be tweaked to correctly applying to ioquake3 ) EDIT : I've tweaked one of them a bit more . EDIT2 -> STATUS : RESOLVED WONTFIX

- https://www.tremfusion.net/hg/tremfusion/rev/72e11d3997f4 -> Check page size for NULL catching Edit : STATUS -> RESOLVED WONTFIX.
« Last Edit: October 27, 2009, 03:22:38 PM by Falkland » Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #82 on: July 02, 2009, 06:36:00 PM »

- https://bugzilla.icculus.org/show_bug.cgi?id=3325 -> Auto load of bots in skirmish fails if unknown bot name
That is not an engine patch. A version of this is already in baseoa.
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #83 on: July 03, 2009, 08:51:15 AM »

- https://bugzilla.icculus.org/show_bug.cgi?id=3325 -> Auto load of bots in skirmish fails if unknown bot name
That is not an engine patch. A version of this is already in baseoa.

Eheh ... my mistake ... sry ( I use those patches for both ioquake3 and OA ) Smiley

Anyway , since the engine should not really need cgame , game and ui section why don't remove from the engine source tree ?
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #84 on: July 03, 2009, 10:07:09 AM »

Anyway , since the engine should not really need cgame , game and ui section why don't remove from the engine source tree ?
I do not keep a source tree

I have cleaned the source of game, cgame, q3ui and ui before uploading the tar-ball but not for these test binaries. A few of the header files are still needed for the interface.
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #85 on: July 22, 2009, 11:18:00 AM »

This patch seems to solve some looped-sound issues for me : https://bugzilla.icculus.org/show_bug.cgi?id=4022 Edit : STATUS -> RESOLVED FIXED

I've applied also this : https://bugzilla.icculus.org/show_bug.cgi?id=3965 Edit : STATUS -> RESOLVED FIXED
« Last Edit: October 26, 2009, 11:46:51 AM by Falkland » Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #86 on: July 24, 2009, 07:03:19 PM »

- We don't have an authorization server for gamekeys management : just made a patch that remove auth support from the server engine
Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #87 on: July 29, 2009, 10:56:43 AM »

https://bugzilla.icculus.org/show_bug.cgi?id=3767 -> Some protection from malicious qvms

Proposed patch on ioquake3 bugzilla -> http://bugzilla-attachments.icculus.org/attachment.cgi?id=1857
Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #88 on: July 29, 2009, 04:14:27 PM »


- https://bugzilla.icculus.org/show_bug.cgi?id=3721 -> GL cleanup patch ( it needs to be tweaked for correctly applying to the latest ioquake3 )


This patch seems not to give any significant improvement and it seems also to produce some renderer issue , so I'd skip this patch unless it will be applied at ioq3 or the author will provide a new one and will explain exactly what it does.
« Last Edit: July 29, 2009, 07:32:11 PM by Falkland » Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #89 on: August 11, 2009, 10:01:38 AM »

I'm sorry that I don't reply much but I am quite busy at the moment and will continue to be until the 7th of September.

Some spread thoughts:

openssl - Believed to be GPL incompatible meaning we or any distro cannot distribute the binaries. End uses can apply the patch if they want but a patch that binds to libgcrypt might be an idea. Not that I would distribute a Linux binary with gcrypt as an extra requirement but distros could.

"patch that remove auth support from the server engine" - defining BUILD_STANDALONE will be faster and it no longer has the problem from 0.7.6
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #90 on: August 11, 2009, 10:11:55 AM »

"patch that remove auth support from the server engine" - defining BUILD_STANDALONE will be faster and it no longer has the problem from 0.7.6

Agree here : after seeing that the authorization sections are delimited by the STANDALONE macro , I've successfully tested the BUILD_STANDALONE for building an UrT engine updated to the latest ioq3 rev : the code is smaller and it works without any problem.
Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #91 on: August 20, 2009, 10:11:38 AM »

Two weeks ago or so there was a commit on the linux kernel git tree that added the compiler switch -fno-delete-null-pointer-checks to the Makefile CFLAGS :

Quote
Add '-fno-delete-null-pointer-checks' to gcc CFLAGS

Turning on this flag could prevent the compiler from optimising away
some "useless" checks for null pointers.  Such bugs can sometimes become
exploitable at compile time because of the -O2 optimisation.

See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html

An example that clearly shows this 'problem' is commit 6bf67672.

 static void __devexit agnx_pci_remove(struct pci_dev *pdev)
 {
     struct ieee80211_hw *dev = pci_get_drvdata(pdev);
-    struct agnx_priv *priv = dev->priv;
+    struct agnx_priv *priv;
     AGNX_TRACE;

     if (!dev)
         return;
+    priv = dev->priv;

By reverting this patch, and compile it with and without
-fno-delete-null-pointer-checks flag, we can see that the check for dev
is compiled away.

    call    printk  #
-   testq   %r12, %r12  # dev
-   je  .L94    #,
    movq    %r12, %rdi  # dev,

Clearly the 'fix' is to stop using dev before it is tested, but building
with -fno-delete-null-pointer-checks flag at least makes it harder to
abuse.

Code:
--- a/Makefile
+++ b/Makefile
@@ -343,7 +343,8 @@ KBUILD_CPPFLAGS := -D__KERNEL__
 KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
                   -fno-strict-aliasing -fno-common \
                   -Werror-implicit-function-declaration \
-                  -Wno-format-security
+                  -Wno-format-security \
+                  -fno-delete-null-pointer-checks
 KBUILD_AFLAGS   := -D__ASSEMBLY__
 
 # Read KERNELRELEASE from include/config/kernel.release (if it exists)

As I understand certain versions ( or all versions ) of gcc skip some checks of NULL pointers because of the -O2 . I don't know if it's so also with -O3 , but since -O3 = -O2 plus other optimization flags , I guess it's the same .

Maybe it can be useful adding this compiler switch also the the OPTIMIZE string in the engine Makefile : it does not add any overhead and/or it's not producing not standard code or any other kind of specific optimization.

It only forbids the compiler to skip some kind of NULL pointer checks. I know that the engine code is not big enough to have this kind of problems just everyday , but adding that switch doesn't have any cost.
Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #92 on: October 26, 2009, 05:28:21 PM »

Other useful compiler/linker switch that do not optimize but could increase security ( at least on linux platform ) :

 -fstack-protector
 -fstack-protector-all
 -pie (-fPIE)
 -D_FORTIFY_SOURCE=2
 -Wl,-z,relro
 -Wl,-z,now

-fstack-protector-all is working only on Ubuntu 8.04.3 for me but not on debian SID ( it causes both client and server to crash with a sig fault ) but it could be a problem related to my machine so it could need to be tested over other machines.

-pie -fPIE ( Position Independent Execution ) is currently not supported by ioquake3 and as a consequence by oa engine code.

I am currently using all the switches with the exception of  -pie (-fPIE) to compile my client and with the exception of -pie (-fPIE) and -fstack-protector-all to compile the server engine running locally on my SID box.

For a short explanation :

- http://wiki.debian.org/Hardening
- https://wiki.ubuntu.com/Security/Features

Edit : in case someone has missed the point ... the multiplatform hack coded originally for Urban Terror does not work in its original version on Fedora because Fedora is all compiled by default using at least -D_FORTIFY_SOURCE=2 -fstack-protector in the CFLAGS and the source code of the hack needs some modifications ( not so easy ) to produce a working binary.

 -Wl,-z,relro -Wl,-z,now are linker flags and their use could help making the engine pointers' interception at least a bit more diifficult ... their use is explained here : https://wiki.ubuntu.com/Security/Features#RELRO

If we could have Position Independent Execution support over the engine , I think that READY_TO_USE hacks on linux platform could become completely dumb.
« Last Edit: October 27, 2009, 03:20:02 PM by Falkland » Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #93 on: October 28, 2009, 08:30:23 AM »

In lack of time I have just updated to newer ioquake3 and added an environment variable.

I cannot tell everything that has changed but there are some security fixes too.
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #94 on: October 28, 2009, 01:01:47 PM »

In lack of time I have just updated to newer ioquake3 and added an environment variable.

I cannot tell everything that has changed but there are some security fixes too.

CD Key check and pak0 check don't need to be removed if BUILD_STANDALONE=1 is defined in the Makefile.local ... I'm testing it over OA , UrT and SG and it works fine.
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #95 on: October 28, 2009, 03:19:11 PM »

CD Key check and pak0 check don't need to be removed if BUILD_STANDALONE=1 is defined in the Makefile.local ... I'm testing it over OA , UrT and SG and it works fine.
BUILD_STANDALONE=1 broke some custom things and I don't have the time to find out what (I know it has something to do with the CD key check but last time I made a list minute change it caused all servers to deny joining players).
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #96 on: October 28, 2009, 03:48:22 PM »

BUILD_STANDALONE=1 broke some custom things and I don't have the time to find out what (I know it has something to do with the CD key check but last time I made a list minute change it caused all servers to deny joining players).

IDK what the problem was exactly about , but I guess they fixed the thing : I've removed the part of your patch that comments the CDkey check control and the pak0 check control and built the engine ( the last one is based on ioq3 rev1713 ) with BUILD_STANDALONE=1 and it's still working well without any problem ... also with UrT and SG. And with BUILD_STANDALONE=0 the engine worked perfect with UrT by passing +set com_standalone 1 +set fs_game "q3ut4" +set fs_gamepath "$HOME/.q3ut4" at commandline.

BTW , I've tested this patch proposed on ioq3 bugzilla http://bugzilla.icculus.org/show_bug.cgi?id=4322 ; apparently ( but maybe no ) it saves many CPU cycles and gives much more stable fps for me.
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #97 on: October 29, 2009, 08:37:16 AM »

BTW , I've tested this patch proposed on ioq3 bugzilla http://bugzilla.icculus.org/show_bug.cgi?id=4322 ; apparently ( but maybe no ) it saves many CPU cycles and gives much more stable fps for me.
Seems right to me but I don't want to apply such patches myself... the original code might be to fix an error in some driver and I have no way of testing that.
Logged

There are nothing offending in my posts.
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #98 on: October 29, 2009, 05:42:54 PM »

oa_ded.exe has the Q3 icon... :S
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
Falkland
Member


Cakes 6
Posts: 590


« Reply #99 on: November 02, 2009, 03:34:41 PM »

gcc >= 4.3.x adds also the flag -ftree-vectorize on the optimization level 3 ( -O3 ) : the compiler will try to produce SIMD compliant ( SSE/SSE2) code and the final binary could/will not run on a machine not SSE/SSE2 compliant ( < Pentium 3 ).

-fno-tree-vectorize has to be explicitely added to the OPTIMIZE string to eventually revert this behaviour, even if I don't think there's still someone running the game over a P2 machine.
Logged
Pages: 1 2 3 [4] 5 6 ... 15
  Print  
 
Jump to: