• The Garry's Mod VPhysics Replacement Project
    757 replies, posted
Woo, fixed the vehicles restarting their sounds. Turns out there was an issue with the physics KeyParser::ParseCustom dealing with the fact that I was recursing before calling ParseKeyValue. I hope this is the last fix dealing with the keyparser for now!
Looks like pimpedupride is going to come in an even more pimped up version in vphysics! [vid]http://puu.sh/8ijYV.webm[/vid] P.S: I've updated all of the old videos in the OP with newer high quality ones.
Hey Grayman, wish I'd have more time to test the physics out. 3 weeks of school left for me! It's looking good though :D
Hey Grayman, is the body portion of it fixed? On servers, the vphysics cause crashes and I want to know if this is useful for Gmod MP servers yet? I noticed it says it doesn't require clientside.
[QUOTE=xthenarwhalx;44619729]Hey Grayman, is the body portion of it fixed? On servers, the vphysics cause crashes and I want to know if this is useful for Gmod MP servers yet? I noticed it says it doesn't require clientside.[/QUOTE] I'm guessing you're referring to the infamous ragdoll crash in valve's vphysics. Mine doesn't crash, but ragdolls aren't solidly implemented (they act really weird). You can spawn some ragdolls and see how they behave in my vphysics. Also, I should mention: many maps weren't built to handle the overly rigid constraints that my vphysics has, so that might be a HUGE source of lag because they'll start spazzing out.
Is this usable on game servers to assist with the crashes or would it not help at all? I run TTT and hope this might help.
[QUOTE=Grayman;44622686] Also, I should mention: many maps weren't built to handle the overly rigid constraints that my vphysics has, so that might be a HUGE source of lag because they'll start spazzing out.[/QUOTE] Expand upon this further please. Why would a map have constraints? Why would said constraints start spazzing out? Don't the rigid constraints mean it won't spaz out?
[QUOTE=TGiFallen;44628284]Expand upon this further please. Why would a map have constraints? Why would said constraints start spazzing out? Don't the rigid constraints mean it won't spaz out?[/QUOTE] Some maps have objects constrained to static objects (for example the physics puzzles in HL2). They spaz out because the level designers placed the objects in a way where they penetrate with the world. In IVP this wasn't a problem because constraints are sort of weak and can tolerate invalid states, but bullet's constraints are pretty solid. So, every frame the constraint tries to move the objects into a valid position (which happens to be in the world), and the contact constraints will try to separate the objects. [QUOTE=xthenarwhalx;44628266]Is this usable on game servers to assist with the crashes or would it not help at all? I run TTT and hope this might help.[/QUOTE] See the reply right above your post.
Sorry, I'm alittle stupid, anyway, Darn it, sad to hear that. Really needing a fix for that stupid crash issue.
I figure an update would be good: I've fixed the positions of the ragdoll constraints so the bones rotate around the correct points, but the 6 dof constraint internally uses Euler angles to solve error on all axes. The fun part about that last fact is if the y-axis is the only free axis and the offset on it is +/-90 degrees, the whole constraint freaks out. I'm gonna have fun fixing this one (and this fix may benefit other people that use bullet as well). Euler angles: The worst of them all.
Just when I thought this was dead! Amazing work guys, I'll try to get a donation in... at least something.
[QUOTE=KD007;44657912]Just when I thought this was dead! Amazing work guys, I'll try to get a donation in... at least something.[/QUOTE] I recommend checking [url]http://peniscorp.com/vphysics/index.lua[/url] often. He uploads some builds a week, this is fully alive and kicking. :wink:
[QUOTE=kimr120;44658945]I recommend checking [url]http://peniscorp.com/vphysics/index.lua[/url] often. He uploads some builds a week, this is fully alive and kicking. :wink:[/QUOTE] Whats with the website name?
[QUOTE=da space core;44662633]Whats with the website name?[/QUOTE] Hah, you'd have to ask Gran PC that.
[QUOTE=da space core;44662633]Whats with the website name?[/QUOTE] Why, is there anything wrong with it?
[QUOTE=da space core;44662633]Whats with the website name?[/QUOTE] Yeah, what about it?
I'm wondering if there is any news as to how stable is this at the moment. Particularly I'm interested as to it's potential for use in, perhaps not build servers yet, but physics based minigames to allow them to support higher prop counts / player limits (I think...) ?
[QUOTE=thelastpenguin;44710141]I'm wondering if there is any news as to how stable is this at the moment. Particularly I'm interested as to it's potential for use in, perhaps not build servers yet, but physics based minigames to allow them to support higher prop counts / player limits (I think...) ?[/QUOTE] Like I said, it's pretty stable at the moment (almost no crashes). [url=http://peniscorp.com/vphysics/]Download[/url] it and try it out.
[code] btSequentialImpulseConstraintSolver.cpp ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp: In static member function ‘static void btSequentialImpulseConstraintSolver::resolveSplitPenetrationSIMD(btSolverBody&, btSolverBody&, const btSolverConstraint&)’: ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:276:141: error: cannot convert ‘btVector3’ to ‘__m128 {aka __vector(4) float}’ for argument ‘2’ to ‘__m128 _mm_add_ps(__m128, __m128)’ ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:284:141: error: cannot convert ‘btVector3’ to ‘__m128 {aka __vector(4) float}’ for argument ‘2’ to ‘__m128 _mm_add_ps(__m128, __m128)’ make[1]: *** [obj/Release/BulletDynamics/btSequentialImpulseConstraintSolver.o] Error 1 [/code] Anyone managed to fix this yet for linux?
[QUOTE=Python1320;44712134][code] btSequentialImpulseConstraintSolver.cpp ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp: In static member function ‘static void btSequentialImpulseConstraintSolver::resolveSplitPenetrationSIMD(btSolverBody&, btSolverBody&, const btSolverConstraint&)’: ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:276:141: error: cannot convert ‘btVector3’ to ‘__m128 {aka __vector(4) float}’ for argument ‘2’ to ‘__m128 _mm_add_ps(__m128, __m128)’ ../../src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp:284:141: error: cannot convert ‘btVector3’ to ‘__m128 {aka __vector(4) float}’ for argument ‘2’ to ‘__m128 _mm_add_ps(__m128, __m128)’ make[1]: *** [obj/Release/BulletDynamics/btSequentialImpulseConstraintSolver.o] Error 1 [/code] Anyone managed to fix this yet for linux?[/QUOTE] Whoops, just committed a fix for that. I don't regularly build for linux so that slipped past me.
I managed to get the linux version compiling but there were errors. Also haven't managed to get it loading at all, seems to stop the server from booting. Here is the compile log. [code] Building configurations... Running action 'gmake'... Generating gmake/Makefile... Generating gmake/BulletCollision.make... Generating gmake/BulletDynamics.make... Generating gmake/BulletMultiThreaded.make... Generating gmake/BulletSoftBody.make... Generating gmake/LinearMath.make... Done. ==== Building BulletCollision (release) ==== Creating ../../../build/lib/linux/release Creating obj/Release/BulletCollision btBox2dBox2dCollisionAlgorithm.cpp btCompoundCollisionAlgorithm.cpp btConvex2dConvex2dAlgorithm.cpp btEmptyCollisionAlgorithm.cpp btBoxBoxDetector.cpp btUnionFind.cpp btBoxBoxCollisionAlgorithm.cpp btConvexConcaveCollisionAlgorithm.cpp btDefaultCollisionConfiguration.cpp btSimulationIslandManager.cpp btCollisionWorld.cpp btGhostObject.cpp btActivatingCollisionAlgorithm.cpp btInternalEdgeUtility.cpp btSphereTriangleCollisionAlgorithm.cpp SphereTriangleDetector.cpp btSphereSphereCollisionAlgorithm.cpp btSphereBoxCollisionAlgorithm.cpp btCollisionObject.cpp btManifoldResult.cpp btHashedSimplePairCache.cpp btConvexConvexAlgorithm.cpp btCompoundCompoundCollisionAlgorithm.cpp btConvexPlaneCollisionAlgorithm.cpp btCollisionDispatcher.cpp btRaycastCallback.cpp btGjkPairDetector.cpp btPersistentManifold.cpp btSubSimplexConvexCast.cpp btVoronoiSimplexSolver.cpp btGjkConvexCast.cpp btContinuousConvexCollision.cpp btPolyhedralContactClipping.cpp btGjkEpaPenetrationDepthSolver.cpp btConvexCast.cpp btMinkowskiPenetrationDepthSolver.cpp btGjkEpa2.cpp btDispatcher.cpp btDbvtBroadphase.cpp btBroadphaseProxy.cpp btMultiSapBroadphase.cpp btAxisSweep3.cpp btDbvt.cpp btCollisionAlgorithm.cpp btQuantizedBvh.cpp btSimpleBroadphase.cpp btOverlappingPairCache.cpp gim_contact.cpp btContactProcessing.cpp btTriangleShapeEx.cpp btGImpactBvh.cpp gim_tri_collision.cpp gim_box_set.cpp btGImpactShape.cpp btGImpactCollisionAlgorithm.cpp btGenericPoolAllocator.cpp btGImpactQuantizedBvh.cpp gim_memory.cpp btTriangleIndexVertexArray.cpp btEmptyShape.cpp btBvhTriangleMeshShape.cpp btUniformScalingShape.cpp btTriangleBuffer.cpp btTetrahedronShape.cpp btHeightfieldTerrainShape.cpp btMultimaterialTriangleMeshShape.cpp btTriangleMesh.cpp btConvexShape.cpp btConvexTriangleMeshShape.cpp btStaticPlaneShape.cpp btConvexPointCloudShape.cpp btTriangleMeshShape.cpp btSphereShape.cpp btConeShape.cpp btConvexInternalShape.cpp btBox2dShape.cpp btStridingMeshInterface.cpp btTriangleCallback.cpp btConvexPolyhedron.cpp btConcaveShape.cpp btCapsuleShape.cpp btShapeHull.cpp btMinkowskiSumShape.cpp btPolyhedralConvexShape.cpp btCollisionShape.cpp btBoxShape.cpp btScaledBvhTriangleMeshShape.cpp btCompoundShape.cpp btOptimizedBvh.cpp btMultiSphereShape.cpp btConvexHullShape.cpp btTriangleIndexVertexMaterialArray.cpp btCylinderShape.cpp btConvex2dShape.cpp Linking BulletCollision ==== Building BulletDynamics (release) ==== Creating obj/Release/BulletDynamics btRaycastVehicle.cpp btWheelInfo.cpp btWheeledVehicle.cpp btDantzigLCP.cpp btLemkeAlgorithm.cpp btMLCPSolver.cpp Bullet-C-API.cpp btSimpleDynamicsWorld.cpp btRigidBody.cpp btDiscreteDynamicsWorld.cpp btMultiBodyConstraintSolver.cpp btMultiBodyPoint2Point.cpp btMultiBodyConstraint.cpp btMultiBody.cpp btMultiBodyJointLimitConstraint.cpp btMultiBodyJointMotor.cpp btMultiBodyDynamicsWorld.cpp btConeTwistConstraint.cpp btGeneric6DofConstraint.cpp btUniversalConstraint.cpp btHingeConstraint.cpp btFixedConstraint.cpp btSequentialImpulseConstraintSolver.cpp btGearConstraint.cpp btSolve2LinearConstraint.cpp btTypedConstraint.cpp btSliderConstraint.cpp btGeneric6DofSpringConstraint.cpp btNNCGConstraintSolver.cpp btHinge2Constraint.cpp btContactConstraint.cpp btPoint2PointConstraint.cpp btKinematicCharacterController.cpp Linking BulletDynamics ==== Building BulletMultiThreaded (release) ==== Creating obj/Release/BulletMultiThreaded Win32Threading.cpp In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/Win32Threading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/Win32Threading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 ); ^ btGpu3DGridBroadphase.cpp btParallelCollisionDispatcher.cpp btThreadPool.cpp btParallelConstraintSolver.cpp In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.h:22, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.cpp:18: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.h:22, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.cpp:18: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 ); ^ PosixThreading.cpp In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/PosixThreading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/PosixThreading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE
[QUOTE=BomBom;44716329]I managed to get the linux version compiling but there were errors. Also haven't managed to get it loading at all, seems to stop the server from booting. Here is the compile log. [code] ==== Building BulletMultiThreaded (release) ==== Creating obj/Release/BulletMultiThreaded Win32Threading.cpp In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/Win32Threading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/Win32Threading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 ); ^ ... In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.h:22, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.cpp:18: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.h:22, from ../../src/BulletMultiThreaded/btParallelConstraintSolver.cpp:18: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 ); ^ PosixThreading.cpp In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/PosixThreading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:695:39: warning: inline function ‘const Vectormath::Aos::Vector3 Vectormath::Aos::select(const Vectormath::Aos::Vector3&, const Vectormath::Aos::Vector3&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Vector3 select( const Vector3 &vec0, const Vector3 &vec1, const boolInVec &select1 ); ^ In file included from ../../src/vectormath/vmInclude.h:11:0, from ../../src/BulletMultiThreaded/PlatformDefinitions.h:16, from ../../src/BulletMultiThreaded/PosixThreading.cpp:1: ../../src/vectormath/sse/vectormath_aos.h:1648:36: warning: inline function ‘const Vectormath::Aos::Quat Vectormath::Aos::select(const Vectormath::Aos::Quat&, const Vectormath::Aos::Quat&, const Vectormath::boolInVec&)’ used but never defined [enabled by default] VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 ); ^ Linking BulletMultiThreaded ... [/code][/QUOTE] These are all silly compiler warnings not caused by me. What happens when you try to load the server? I tried srcds earlier today on linux and it worked OK.
Just getting this when the server launches. [code] bombom@ubuntu:~/Builder/gmod$ ./srcds_run -console -game garrysmod +maxplayers 8 +map gm_flatgrass Auto detecting CPU Using default binary: ./srcds_linux Server will auto-restart if there is a crash. AppFramework : Unable to load module vphysics_srv.so! Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem Sat May 3 11:04:57 PDT 2014: Server restart in 10 seconds [/code]
[QUOTE=BomBom;44717020]Just getting this when the server launches. [code] bombom@ubuntu:~/Builder/gmod$ ./srcds_run -console -game garrysmod +maxplayers 8 +map gm_flatgrass Auto detecting CPU Using default binary: ./srcds_linux Server will auto-restart if there is a crash. AppFramework : Unable to load module vphysics_srv.so! Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem Sat May 3 11:04:57 PDT 2014: Server restart in 10 seconds [/code][/QUOTE] See if you can make it spit out more details. Is vphysics_srv.so missing from the engine's bin path? Linker not linking to something properly?
The vphysics_srv.so is inside the engine bin folder, ldd returns this. [code] bombom@ubuntu:~/Builder/gmod/bin$ ldd vphysics_srv.so linux-gate.so.1 => (0xf773a000) ../../gmod/bin/libvstdlib_srv.so (0xf7486000) ../../gmod/bin/libtier0_srv.so (0xf745d000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf735f000) libm.so.6 => /lib32/libm.so.6 (0xf731c000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf72ff000) libc.so.6 => /lib32/libc.so.6 (0xf714d000) libtier0_srv.so => not found libdl.so.2 => /lib32/libdl.so.2 (0xf7148000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf712d000) /lib/ld-linux.so.2 (0xf773b000) librt.so.1 => /lib32/librt.so.1 (0xf7124000) [/code] Is there a reason for gmod to have 2 vphysics files? There is vphysics.so and vphysics_srv.so... Other source games like TF2, DODS, L4D, L4D2, Portal, Portal2, CSS, CSGO only seem to have vphysics.so, any ideas?
[QUOTE=BomBom;44717157]The vphysics_srv.so is inside the engine bin folder, ldd returns this. [code] bombom@ubuntu:~/Builder/gmod/bin$ ldd vphysics_srv.so linux-gate.so.1 => (0xf773a000) ../../gmod/bin/libvstdlib_srv.so (0xf7486000) ../../gmod/bin/libtier0_srv.so (0xf745d000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf735f000) libm.so.6 => /lib32/libm.so.6 (0xf731c000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf72ff000) libc.so.6 => /lib32/libc.so.6 (0xf714d000) libtier0_srv.so => not found libdl.so.2 => /lib32/libdl.so.2 (0xf7148000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf712d000) /lib/ld-linux.so.2 (0xf773b000) librt.so.1 => /lib32/librt.so.1 (0xf7124000) [/code] Is there a reason for gmod to have 2 vphysics files? There is vphysics.so and vphysics_srv.so... Other source games like TF2, DODS, L4D, L4D2, Portal, Portal2, CSS, CSGO only seem to have vphysics.so, any ideas?[/QUOTE] I have no idea, must be some weird valve stuff going on. vphysics_srv.so is the module that you need to replace.
[QUOTE=BomBom;44717157]The vphysics_srv.so is inside the engine bin folder, ldd returns this. [code] bombom@ubuntu:~/Builder/gmod/bin$ ldd vphysics_srv.so linux-gate.so.1 => (0xf773a000) ../../gmod/bin/libvstdlib_srv.so (0xf7486000) ../../gmod/bin/libtier0_srv.so (0xf745d000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf735f000) libm.so.6 => /lib32/libm.so.6 (0xf731c000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf72ff000) libc.so.6 => /lib32/libc.so.6 (0xf714d000) libtier0_srv.so => not found libdl.so.2 => /lib32/libdl.so.2 (0xf7148000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf712d000) /lib/ld-linux.so.2 (0xf773b000) librt.so.1 => /lib32/librt.so.1 (0xf7124000) [/code] Is there a reason for gmod to have 2 vphysics files? There is vphysics.so and vphysics_srv.so... Other source games like TF2, DODS, L4D, L4D2, Portal, Portal2, CSS, CSGO only seem to have vphysics.so, any ideas?[/QUOTE] It's most likely because server owners were asking for Garry to compile with old glibc so it wouldn't break on old operating systems. the vphysics.so is compiled with newer glibc (maybe newer gcc too) and can be removed or replaced with vphysics_srv.so (at least theoretically). It might be that the non _srv versions are meant for gmod client but accidentally slipped to srcds downloads too.
Managed to compile and it doesn't crash at least immediately: [url]http://g3.metastruct.org:20080/vphysics_srv.so[/url] [editline]4th May 2014[/editline] Haha, a single combine ball was too much for it. 5 fps.
[QUOTE=Python1320;44719376]Managed to compile and it doesn't crash at least immediately: [url]http://g3.metastruct.org:20080/vphysics_srv.so[/url] [editline]4th May 2014[/editline] Haha, a single combine ball was too much for it. 5 fps.[/QUOTE] Tried both your compile and mine, still not managed to get this working on my ubuntu or debian servers.
[QUOTE=Python1320;44719376]Managed to compile and it doesn't crash at least immediately: [URL]http://g3.metastruct.org:20080/vphysics_srv.so[/URL] [editline]4th May 2014[/editline] Haha, a single combine ball was too much for it. 5 fps.[/QUOTE] Huh, weird. VPhysics has OK performance for me on linux (I haven't ran any benchmarks but it certainly isn't that slow). [QUOTE=BomBom;44719879]Tried both your compile and mine, still not managed to get this working on my ubuntu or debian servers.[/QUOTE] Sorry, I don't know what's wrong. I'm not too terribly good at using linux.
Sorry, you need to Log In to post a reply to this thread.