Skip to content
Snippets Groups Projects
  1. May 11, 2015
    • est31's avatar
      Make early protocol auth mechanism generic, and add SRP · 82e35edf
      est31 authored
      Adds everything needed for SRP (and everything works too),
      but still deactivated, as protocol v25 init packets aren't final yet.
      Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
      inside networkprotocol.h.
      82e35edf
  2. Apr 01, 2015
    • Zeno-'s avatar
      Move globals from main.cpp to more sane locations · 9527984d
      Zeno- authored
      Move debug streams to log.cpp|h
      
      Move GUI-related globals to clientlauncher
      
      Move g_settings and g_settings_path to settings.cpp|h
      
      Move g_menuclouds to clouds.cpp|h
      
      Move g_profiler to profiler.cpp|h
      9527984d
  3. Mar 13, 2015
  4. Mar 04, 2015
  5. Feb 16, 2015
    • Loïc Blot's avatar
      Performance Improvement: Use a cache which caches result for getFacePositions. · 7c8793cb
      Loïc Blot authored
      This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
      In the callgrind map, you will see original:
        * 3.3M calls to std::list for 9700 calls to getFacePositions
      In the modified version, you will see:
        * 3.3K calls to std::list for 6900 call to getFacePositions
      Callgrind map is here: #2321
      
      it's a huge performance improvement to l_find_node_near
      7c8793cb
    • Loïc Blot's avatar
      [Patch 2/4] Network rework: packet writing, sending and cleanups · ed04e8e9
      Loïc Blot authored
      NetworkPacket.cpp:
      * Remove some deprecated functions, we must use streaming interface
      * m_data converted from u8* to std::vector<u8>
      * Add an exporter to forge packet to Connection object
      * implement operator << std::wstring. n
      * implement operator << std::string
      * dynamic resize when write packet content.
      * fix string writing and performances.
      * create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
        * Reliability
        * Transmit channel
      * Implement putRawString for some ugly char (_INIT packet), and use it.
      * Many packet read and write migrated
      * Implement oldForgePacket to interface writing with current connection
      * fix U8/char/bool writing
      * fix string writing and performances.
      * add some missing functions
      * Use v3s16 read instead of reading x,y,z separately
      * Add irr::video::SColor support into packets
      * Add some missing handlers
      * Add a template function to increase offset
      * Throw a serialization error on packet reading (must be improved)
      
      PacketFactories:
      * Create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
      * Create ClientCommandFactory, used by server to get useful informations about packet processing (sending).
      
      Client.cpp:
      * implement NetworkPacket ::Send interface.
      * Move packet handlers to a dedicated file
      * Remove Client::Send(SharedBuffer)
      
      Server.cpp:
      * implement NetworkPacket ::Send interface.
      * Rewrite all packets using NetworkPacket
      * Move packet handlers to a dedicated file
      * Remove Server::Send(SharedBuffer)
      
      ClientIface.cpp:
      * Remove sendToAll(SharedBuffer<u8>)
      
      Connection.hpp rework:
      * Remove duplicate include
      * Remove duplicate negation
      * Remove a useless variable
      * Improve code performance by using a m_peers_list instead of scanning m_peers map
      * Remove Connection::Send(SharedBuffer)
      * Fix useafterfree into NetworkPacket Sending
      * Remove unused Connection::sendToAll
      
      Test.cpp:
      * Remove dead code
      * Update tests to use NetworkPackets
      
      Misc:
      * add new wrappers to Send packets in client, using NetworkPacket
      * Add NetworkPacket methods for Connection
      * coding style fix
      * dead code since changes cleanup
      * Use v3s16 read instead of reading x,y,z separately in some packets
      * Use different files to handle packets received by client and server
      * Cleanup: Remove useless includes
      
      ok @Zeno-
      Tested by @Zeno- @VanessaE and @nerzhul on running servers
      ed04e8e9
  6. Jan 19, 2015
  7. Dec 12, 2014
  8. Sep 21, 2014
  9. Aug 22, 2014
  10. Jun 28, 2014
  11. Apr 08, 2014
    • sapier's avatar
      Cleanup client init states by bumping protocol version · 142e2d3b
      sapier authored
      Don't use TOSERVER_RECEIVED_MEDIA but TOSERVER_CLIENT_READY as indicatio for client ready
      Handle clients with protocol version < 23 (almost) same way as before
      Make client tell server about it's version
      Add client state to not send bogus player position updates prior init complete
      Add access to statistics information (peer connction time,rtt,version)
      Fix clients standing stalled in world while preloading item visuals (new clients only)
      Add get_player_information to read client specific information from lua
      142e2d3b
  12. Mar 26, 2014
  13. Feb 06, 2014
  14. Jan 31, 2014
    • sapier's avatar
      Add propper client initialization · e258675e
      sapier authored
        -add client states to avoid server sending data to uninitialized clients
        -don't show uninitialized clients to other players
        -propper client disconnect handling
      Minor comment fixes in server
      Minor bugfixes in connection
        -improved peer id calculation
        -honor NDEBUG flag
        -improved disconnect handling
        -increased initial send window
      Remove some dead code
      e258675e
Loading