Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Bereror

Pages: [1] 2
1
Linux Specific Issues / nvidia-cg-toolkit 2.0
« on: April 18, 2008, 12:41:06 pm »
Tried to start up my self-built PlaneShift client over a long time and ran into an issue that I seem to have no solution yet. The client was built when 0.4 came out and worked fine back then. Now the result is as seen on the screenshot here:



My first thought was that my new NVidia 173.08 beta drivers are to blame, but switching back to the original 169.12 version made no difference. Further investigations show that walktest from Crystal Space works fine as well as does the Xordan's binary. Using Xordan's binary as the reference, I managed to narrow the problem down to nvidia-cg-toolkit libraries, which I have the version 2.0 installed now.

Removing libCgGL.so and libCg.so from the libs directory in the Xordan's binary install makes the official binary to behave the same way. Making these two libraries from the Xordan's install available for my own build fixes the issue. So the problem seems to be that I have the nvidia-cg-toolki version 2.0 installed. Re-configuring and re-building CS, CEL and PS didn't make any difference.

Is there something that I'm missing? Or has somebody seen the same issue when self-building the PlaneShift client with the nvidia-cg-toolkit version 2.0?

2
Development Deliberation / Please test the configurable chat window
« on: October 14, 2006, 12:28:31 pm »
People with clients built from sources can test the configurable chat window with modified sources from here: Chat window sources.

Please let me know if you find something that still doesn't work before I commit changes to the CVS repository.

3
Please go to the PlaneShift directory (C:\Program Files\PlaneShift Crystal Blue on Windows) and open the psclient.cfg file in a text editor. In that file locate the following lines:

Video.OpenGL.UseExtension.GL_EXT_texture_rectangle = false
Video.OpenGL.UseExtension.GL_ARB_texture_rectangle = false
Video.OpenGL.UseExtension.GL_NV_texture_rectangle = false

Comment these three lines out by adding a semicolon to the front of these lines:

;Video.OpenGL.UseExtension.GL_EXT_texture_rectangle = false
;Video.OpenGL.UseExtension.GL_ARB_texture_rectangle = false
;Video.OpenGL.UseExtension.GL_NV_texture_rectangle = false

Save the file and start PlaneShift. Once in the game, open your inventory window. One of the following will then happen:
a) It works fine;
b) The game crashes;
c) You see corrupted graphics.

If b) or c) is true for you, post here your graphic card type and driver version. Change the psclient.cfg file back to the original values.

Thanks.

EDIT1: See also Again the GL_NV_texture_rectangle problem; how to fix correctly?

4
Technical Help: IN GAME bugs (after loading world) / Do not loot Bread
« on: September 16, 2006, 04:16:10 pm »
As the subject says, do not loot bread because it seems to be bugged. It will occupy a slot in your inventory and there is nothing you can do with it. You will get an "empty" slot that you can't use in your inventory. You even can't drop it on the ground or give to somebody else.

The reason for this bug is being investigated.

5
Linux Specific Issues / Random segfaults with the 0.3.14b binaries
« on: April 15, 2006, 09:08:20 am »
The latest Linux binary 0.3.014b has some random segfaults when using the OSS sound option. It seems to work fine when sound is disabled.

Here are some backtraces that I managed to capture. There was also an immediate segfault when starting up, but I couldn\'t reproduce it in gdb.

After clicking on the login button:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223915264 (LWP 2337)]
0xb7995c98 in strcmp () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb7995c98 in strcmp () from /lib/tls/libc.so.6
#1  0x08786fb8 in scfInterfaceTraits::CleanupID ()
#2  0x00000000 in ?? ()


When loading the map:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223640832 (LWP 2300)]
0x0835aea1 in ?? ()
(gdb) bt
#0  0x0835aea1 in ?? ()
#1  0x6e690077 in ?? ()
#2  0x00776f64 in jpeg_std_error () from libs/libjpeg.so.62
#3  0x086b0bc7 in scfInterfaceTraits::CleanupID ()
#4  0x080cf989 in ?? ()
#5  0x080d306a in ?? ()
#6  0x088f28fb in scfInterfaceTraits::CleanupID ()


After the map was loaded:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1237853264 (LWP 2343)]
0x08361df5 in ?? ()
(gdb) bt
#0  0x08361df5 in ?? ()
#1  0x08c6079c in ?? ()
#2  0x08c60788 in ?? ()
#3  0x00002110 in ?? ()
#4  0x00000000 in ?? ()

6
Linux Specific Issues / Linux 0.3.014 client [temporary solution]
« on: April 10, 2006, 11:53:44 am »
Download the file here.

Extract it:
Code: [Select]

tar -xjvf planeshift-0_3_014.tar.bz2


Then copy the art directory from your old 0.3.013 client (only art, nothing else). Or if you have the new Windows 0.3.014 client, copy the art directory from there.

Change to the pstest directory and play :)

PS! This is not an official client from the Planeshift team and it either works or not. Don\'t ask for any support if it doesn\'t. But it has been working for several people now.

Many thanks to Araye for hosting the file and several people who tested it.

7
General Discussion / Pet names and naming rules
« on: March 18, 2006, 05:41:09 am »
First a background story ;)

One day Ruby Reign guild members were hunting on the hills of the Ojaveda road when they found a badly wounded groffel. He was probably attacked by a clacker, but managed to escape. However, his wounds were so bad that he was going to die soon.

Hunters carried the wounded groffel back to the Hydlaa city, cleaned his wounds and gave healing potions. Then they started looking for the owner of the groffel who was probably desperately looking for him.

In the meantime other Ruby Reign guild members kept nursing the groffel, because he was still too weak to be left alone. Time was going and the owner never showed up. The groffel was slowly recovering and showing some great affection to the guild members.

The guild decided to keep the groffel until the real owner is found. As any pet needs a name, they decided to name the groffel by the guild and started calling him \"Ruby Reign\".


Now comes the difficult part and the reason why I am posting here. Does the pet name \"Ruby Reign\" violate our naming rules?

I am all for the rules and I have no intentions to break them, but I also know from my personal experiences that sometimes it is possible to go too far when interpreting the rules. The nickname that I am using here could be split into two words, couple of characters in it could be replaced and it has a meaning in a language spoken by some of our community members.

Now let\'s take a look at \"Ruby Reign\".
  • It is not offensive or vulgar;
  • It doesn\'t use repeated letters;
  • It doesn\'t have an adjective, a verb or a title as the first name;
  • At least it is not a futuristic or Sci-Fi name :)
  • I\'m afraid that every letter in the Latin alphabet is trademarked by somebody, so I fail to confirm that the name is not trademarked;
  • It doesn\'t form OOC phrases;
  • It doesn\'t use a name of an existing PlaneShift player of NPC.

The only rule that is left is the \"sign\" rule and that\'s where problem is. It is not \"Join Rubyreign\" or \"Rubyreign Rulez\", it is just ... \"Ruby Reign\" :)

You see a member of the Ruby Reign guild or a group of the guild members and a pet called \"Ruby Reign\" standing next to them. Do you see the pet as a sign or just a pet who belongs to the Ruby Reign guild?

I could see it as a sign if you come to the Plaza and see a pet called \"Ruby Reign\" alone without any guild members around. Now it could be seen as a sign that is trying to advertise the guild, but not when there are guild members around who anyway have the same guild name \"Ruby Reign\" right under their character\'s name.

The poor groffel is now hidden deep in the sewers where nobody can see him. Ruby Reign guild members are visiting him as often as they can, but he is very unhappy.

8
Technical Help: IN GAME bugs (after loading world) / Memory leaks
« on: March 05, 2006, 04:31:02 am »
Here are some findings where memory is lost in the new Crystal Space sound system.

1. CS/plugins/sndsys/element/ogg/oggdata2.cpp

The function SndSysOggSoundData::IsOgg() allocates memory for OggStreamData, but never releases it.

This is no big deal because sound files are loaded only once and it is a wasted memory, but nothing that would take the client down.

2. CS/plugins/sndsys/renderer/software/renderer.cpp

The sound engine is supposed to remove sounds and release memory automatically if said so with the iSndSysStream::SetAutoUnregister() function. Planeshift uses that method in several places like for the background music and for interface sounds (the \"click\" sound when a button is clicked with the mouse). Unfortunately the sound engine only removes these sounds from the list, but forgets to decrement the reference counter, so these sound streams and sources will be never released.

It is a small but steady memory leak depending how often one clicks on different buttons and crosses sectors to change the background music.

3. CS/plugins/sndsys/renderer/software/source.cpp

This is the big one. Effects like spells, combat sounds etc. use the SndSysSourceSoftware3D sound source object. SndSysSourceSoftware creates 6 sound filters for 18 sound channels in the SndSysSourceSoftware3D::SetupFilters() function, which are never deleted. In addition, some of these filters allocate memory for processing sound samples which is also never released. Memory allocated and never released for one single sound effect in one of the tests I did was 724 KB.

4. src/common/effects/pseffectobjsound.cpp

The only sound related memory leak in Planesift code that I found ;)

If sound is enabled in the PS setup, but muted in options (or muted because the game window lost focus), the game still creates psEffectObjSound objects, but never deletes them. These objects are deleted when the sound effect stops playing, but since sound effects are muted, they are never started.


After fixing the memory leak no. 3 the client was still leaking memory, but now we are talking about 60 MB in 30 minutes when standing at the Arena and not 500 MB in 8 minutes like it was before (Arena is usually filled with spells, combat sounds etc).

9
Wish list / Standard phrases
« on: January 09, 2006, 03:07:34 am »
This idea is related mostly to the help channel (at least for me), but could be useful for the normal role-play conversation as well.

Sometimes the help channel gets flooded with questions that could be answered with a previously stored standard answer. That would help giving polite answers to the next variation of \"why are rats impervious?\" question.

Current workaround is to scroll up in the history and modify the name of the character who is asking for help. But these standard phrases could be stored in a configuration file and  have a name that could be used in the conversation. Before sending text to the server, phrase names are expanded to the stored text.

Here are few examples:
Code: [Select]
Bob asks: Why i can\'t attack monsters? (Monster is impervious to attack))
[B][COLOR=green]/advice Bob $npcdown[/COLOR][/B]
You advice: The npcclient software is down. We have to wait until it is restarted or fixed.

Joe asks: how do I get out of death realm
[B][COLOR=green]/advice Joe $dr[/COLOR][/B]
You advice: Look around for a portal that takes you back to the outer realm. Following other dead souls may help you finding it.




EDIT: I wonder if the current chat filter could be used for it?

10
Development Deliberation / Latest and greatest PS (2006-01-03 CVS build)
« on: January 04, 2006, 01:52:12 am »
I finally managed to build and get working the latest and greatest CVS HEAD version. After spending one evening with the new PS version, here are some of my findings. I hope this feedback has some value.

1. Font scaling.
I like the new option in the setup that changes the font scaling factor. Unfortunately fonts in different windows are not balanced. If I make fonts smaller to get them to the size I like in shortcuts and options windows, fonts in the chat window become too small and in the stats window unreadable. Scaling factor that works for chat and stats windows is too large for other windows.

2. New mouse events in CS.
At the beginning I had some troubles getting my mouse working,  but then I realized that button numbers are changed and start with \"0\" now (left-click changed from \"1\" to \"0\", right-click from \"2\" to \"1\" and middle-click from \"3\" to \"2\" ). But I couldn\'t get the mouse-look function working where you can middle-click and then look around with mouse.

In addition, the mouse button number for changing the toolbar (or button bar or whatever you call it ;) ) style seems to be hard-coded to \"2\". It is now the middle-button that changes the style and not the right-button as it was before.

3. Labels.
Looks like there is a new graphic glitch in labels (sorry for posting character names here, but that\'s the only way to show it).


I have seen similar \"effects\" before, but only when switching between the Planeshift window and any other windows. And they were always repainted when switching back to the Planeshift window.

Otherwise, great job and thanks for your effort! I am sure there are many more bugs to find and fix :P

11
My game runs without any problems and I have no issues with my firewall or router. However, I would like to see somebody with networking experiences to clarify requirements for firewalls/routers to make sure that we do not give wrong advises to people who have such problems.

I have seen many suggestions to enable UDP port 7777 for incoming traffic and/or forward it to the machine in the local network that runs the game. Please correct me if I\'m wrong, but as far as I see, we need to open UDP port 7777 for outgoing traffic and no port forwarding is needed. In a fact, I think it may harm network security if we open UDP port 7777 for incoming traffic and forward it to a PC in our local network.

Here is the network traffic between my router/firewall and the Laanx server:
Code: [Select]

11:44:42.501959 IP 213-35-145-6.32775 > laanx.fragnetics.com.7777: UDP, length: 22
11:44:42.826329 IP laanx.fragnetics.com.7777 > 213-35-145-6.32775: UDP, length: 22

As you can see, Laanx did not send any UDP messages to the port 7777, but to the UDP port 32755, which was the source port number when I sent a message to Laanx. So opening the UDP port 7777 for incoming traffic makes no sense, because there is no incoming traffic on that port. Instead, the UDP port 7777 shall be opened for outgoing traffic in order to send messages to the server. Traffic from the server uses the original source port and any firewall/NAT router should accept them without changes to the configuration.

So I am asking network experts to correct me if my statement above is wrong  :]

12
As the subject says, client crashes when trying to cure Gorbiak with a segmentation fault error.

It happens when executing the following line in chatwindow.cpp:
Code: [Select]
   case CHAT_SERVER_TELL:

        // allows /tell /me sits down for a private action
        [COLOR=red]if (!strncmp(msg.sText,\"/me \",4))[/COLOR]
            cs_snprintf(buff,1024,\"%s %s\",(const char *)msg.sPerson,((const char *)msg.sText)+4);
        else if (!strncmp(msg.sText,\"/my \",4))


And here are the msg object fields right before the crash:
Code: [Select]

$1 = { = {_vptr.psMessageCracker = 0x8395420,
    static msghandler = 0x85c3cd8, msg = 0x0, valid = false}, iChatType = 13,
  sPerson = {> = {<> = {},
      minibuff = \"Gorbiak\\000\\000\\000\\000\\000\\000\\000\\200?\", \'\\0\' , \"\\200?žME\\b\", miniused = 8}, },
  sText = {> = {<> = {},
      minibuff = \"?7??\\220:??/9????;??\\a\\030\\v\\b:??\\220:????;?\\000\\000\\000\",
      miniused = 0}, }, translate = false}

13
Technical Help: IN GAME bugs (after loading world) / "Darkness" bug
« on: November 01, 2005, 09:05:16 am »
I know, this bug is reported at least 1000 times  8)

Because this bug happens to me almost every time I log into the game, I spent some time trying to find out why it happens. So here are my findings. Maybe they can be used to fix the \"darkness\" bug once and forever.

Normal players who do not have the privilege to modify their source files and recompile Planesift may look at the end of this long post for a workaround.


Lights in the game are updated when crossing sectors or when the time changes. After starting up the client, sectors are changed from NULL to SectorWhereWeKeepEntitiesResidingInUnloadedMaps and then to the final sector (hydlaa_plaza in my test case).

Once the sector is changed, the ModeHandler::ClearLightFadeSettings() function in the modehandler.cpp file is called. There is the following line in that function:
Code: [Select]

last_interpolation_reset = csGetTicks() - interpolation_time - 1000;


csGetTicks() returns the number of milliseconds since the CS engine was initialized and interpolation_time is 40000.

Now, the number of milliseconds since the CS engine was initialized depends on a) speed of the computer, b) ping time to the server and c) how fast the user clicks on buttons to get into the game. In my case it is usually somewhere between 32000 and 38000.

So what would be the result if csGetTicks() returns 38000? It would be -3000 (actually a very large positive number because the variable is of type unsigned int, but it is easier to use negative numbers here).

Then the ModeHandler::UpdateLights(csTicks when) function is called in the same file with when set to the same value than last_interpolation_reset or -3000 in our case.

This function is supposed to update lights in a smooth way that the lights do not get switched on/off. It needs at least two runs to get lights updated where the first run initializes some light and color values.

If this function is now called with the value -3000, we run into the \"darkness\" bug, because there is this line:
Code: [Select]

if (when > last_interpolation_reset + interpolation_time)


-3000 + 40000 would be 37000. Since all these variables are actually unsigned integers, -3000 is a very large positive value (4294964296) and the equation is TRUE.

The function gets called only once, lights are updated with uninitialized light and color values and we have the \"darkness\" bug and/or strange colors on the screen.

In my client I changed the ModeHandler::ClearLightFadeSettings() function in the following way:
Code: [Select]

  csTicks current_ticks;
  current_ticks = csGetTicks();
  if (current_ticks >= (interpolation_time - 1000))
    last_interpolation_reset = current_ticks - interpolation_time - 1000;
  else
    last_interpolation_reset = 0;


Seems to be working and I haven\'t seen any more problems.


All others who have to wait for official updates, there is a workaround for you:
After you start up Planeshift, wait at least 41 seconds before you enter the game. This makes sure that your lights and colors are properly updated.

14
I have tried two different methods to get a Linux version up and running, and both have failed so far.

1. Using Xordan\'s installer

Did a local installation into $HOME/ps. The installer works fine.

Updater is continuously trying to update art/models.zip/trepor/trepor.cal3d, but otherwise works.

pssetup prints out some Crystalspace warnings, but works:

Code: [Select]

crystalspace.canvas.openglcommon:
  Could not open driver database file \'/config/gldrivers.xml\'

crystalspace.engine.warning:
  Shader std_lighting.xml not available
  Shader std_lighting_portal.xml not available


psclient prints out the same warnings, allows me to connect to the server, loads the world and then ends up with this screen:




2. Using sources from CVS repository

Using Planeshift CVS version from 2005-10-25 15:00 (found the time stamp on the server status page).

Crystalspace is from 2005-10-06.

Got an error during the build process, but managed to build everything else by running jam without the -q argument.

Code: [Select]

LinkApplication ase2spr
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/bin/ld:
 cannot open output file ase2spr: Is a directory
collect2: ld returned 1 exit status

  g++ -o ase2spr ./out/linuxx86/optimize/src/tools/ase2spr/ase2spr.o ./out/linuxx86/optimize/src/tools/ase2spr/spr.o
./out/linuxx86/optimize/src/tools/ase2spr/ase.o


updater and pssetup work fine.

psclient starts up, connects to the server, tries to enter the world and then shows an error message \"Timeout waiting for the world to load\".

On the console the last lines are:
Code: [Select]

planeshift.application.client:
  PSLoader: step 2: success
  PSLoader: step 3: success
  PSLoader: timeout!



Any suggestions, how to get a Linux version running, are welcome  8)

15
Ok, server crashed again, so it is time to start reporting bugs found in the 0.3.012 version  8)

Stamina is not updated

You can run forever and your stamina is still 100%. Until it suddenly drops down to 5% and then stays there forever. No way to run anymore, just walk, because it will not be updated.

And you can keep walking for a while without any updates to the stamina until it drops 0%. Now you are stuck and the only way to recover is to reload the game.

HP is not updated

Same is valid for your health points. They stay at 100% regardless the damage you get. And you will die with 100% HP.

Progression points not updated

Same for PP. You see the message about PP, but no updates to the stats window.

The list probably continues with mana etc.

Pages: [1] 2