Alex :: Mon Apr 19 14:40:19 UTC 2010
Updated nif code to work with latest changes.
Alex :: Mon Apr 19 14:39:46 UTC 2010
Improved the makefile; made gcc and the include path changeable, and added clean/uninstall tasks.
Alex :: Mon Apr 19 14:39:35 UTC 2010
Added boringfile.
Alex :: Mon Apr 19 03:12:44 UTC 2010
Removed darwin-specific flags from the Makefile.
Alex :: Mon Apr 19 03:10:55 UTC 2010
Added LFE as a git module.
Alex :: Mon Apr 19 03:09:57 UTC 2010
Removed lfe from lib/, to be added as a submodule.
Alex :: Sat Dec 12 22:23:43 UTC 2009
* Changed how sessions are managed; they are now kept in the respective
servers. This fixes warping between zone servers, since they need to grab the session from the char server to connect (which otherwise wouldn't exist). * Character server save_char event now updates the char's the session if it exists. * Warp command doesn't send warp packet until after all server-side activity is finished. Prevents premature disconnect which kills the FSM. * EXIT signal to all FMSs now immediately kills the FSM. * Fixed char server connect rejection packet. * Added upgrade function to nif.c. * Close connection after valid login, since the client doesn't always do it. Added "close" event to gen_server_tcp to do this. * Fixed warp_zone packet. * Removed gender swap code from packets.
Alex :: Wed Dec 9 04:05:32 UTC 2009
Moved from CNodes over to the experimental erl_nif. Massive pathfinding
boost, roughly 100-300us on CNodes to 6us with nif.
Alex :: Sun Nov 1 15:55:04 UTC 2009
* Verify packet lengths before sending.
- Logging can now take a 3-length tuple, where the third value specifies the format.
- Fixed zone "accept" packet being too long, resulting in subsequent packets being screwy (e.g. those that show the environment, MOTD, etc.).
- Fixed "error" and "warning" logs showing as "info" when no fields present.
- Removed junk zone_fsm:init_player/1 function that was only for testing.
- Fixed normal actor view packet sending in zone_fsm.
Alex :: Sun Nov 1 00:20:38 UTC 2009
Send packets by their name, not their header.
Alex :: Sat Oct 31 20:54:15 UTC 2009
* Removed some silly debug output that's no longer needed.
Alex :: Sat Oct 31 19:30:04 UTC 2009
* Compile C code with -O2 -Wall.
- C cleanups.
- Show actors on map_loaded too.
- Fixed edge case where talking a single-path step while already walking would crash the FSM.
Alex :: Sat Oct 31 16:21:01 UTC 2009
* Walking is now much smoother; the next walk packet is sent after the next step.
- Fixed all the useless warnings in zone_fsm.
- No longer pass NPC as second argument to modules; unnecessary.
Alex :: Fri Oct 30 23:43:17 UTC 2009
Fixed gcc paths in Makefile, removed invalid exports in maps module.
Alex :: Fri Oct 30 23:32:53 UTC 2009
* Pathfind with C using C nodes; added complex pathfinding.
- NPCs, powered by LFE.
- Direction changing.
- , , and GM commands.
- /b broadcast support.
- Send a proper server tick; fixes client walking faster than server.
- Send AccountID in zone server ack packet, not session ID A.
- Switched to GPLv3. More appropriate for projects of this kind.
Alex :: Wed Oct 21 21:27:14 UTC 2009
* Walking and simple pathfinding.
- Note: Walk speed is fixed at 150 for the time being, as this isn't finished.
- Quit notifications and the ability to exit from the menu.
- Basic GM command functionality.
- Clear a player from the map server when they exit.
- Added modified license.
- Zone FSM carries around its map object.
- Fixed login packet being incorrectly parsed when the client jumbles random data in after null-termination.
Alex :: Mon Oct 19 02:55:19 UTC 2009
* Actors can now see each other.
- Save character on zone disconnect.
- Fixed walking to be properly broken.
- Fixed self-walking packet.
- Fixed encode_move/1.
- Fixed character creation stalling the client.
- Added check to login connect packet to translate other packet versions to the format we expect.
Alex :: Sun Oct 18 20:16:00 UTC 2009
* Zone FSM carries around its map server.
- Abstract map server casts.
- Tentative guild packet responses.
- Talking.
- Renamed "option" char attribute to the more accurate (and non-protobuf-keyword) "effects", fixed protobuf order.
Alex :: Sun Oct 18 05:46:07 UTC 2009
* New inter-server verification & switching structure.
- Server sessions now only store the account ID, FSM's PID, and session IDs.
- Upon disconnect, a "stop" signal is sent to the FSM, which waits 5 minutes before actually beginning termination (via a timer that sends an "exit" signal) so that it can receive the switch_* event.
- New server sends switch_* event to previous FSM (which is stored in the last server's session), which returns that FSM's state, terminates the FSM, and removes the session from that server.
- Zone server maps are now gen_servers.
- FSMs now receive a "{set_server, ServerPid}" event upon creation, allowing for example a Zone FSM to access its zone_srv by storing ServerPid in its state.
- log:error/1 now correctly prints "ERROR" in red.
Alex :: Sat Oct 17 23:25:24 UTC 2009
Better packet receiving (packet lengths-based).
Alex :: Sat Oct 17 20:37:51 UTC 2009
* Packet version handling.
- Zone server connecing.
- Character server session handling.
Alex :: Sat Oct 17 17:28:42 UTC 2009
Updated stock zone server config.
Alex :: Sat Oct 17 05:17:53 UTC 2009
* Initial zone server stack.
- Removed SASL from makefile, spits out too much.
- Fixed stock config char server port.
- Cleanups here and there.
- gen_server_tcp can now be used multiple times per node; things are named by their port.
- Added EXIT signal handling to servers, FSMs, etc.
- Fixed maps:flip/2.
Alex :: Fri Oct 16 15:55:45 UTC 2009
Fixed a typo in char server stock config, updated NO_TOUCHING.
Alex :: Fri Oct 16 15:23:19 UTC 2009
* New configuration scheme.
- New database schema location scheme.
- Updated Account protobuf messages to represent passwords as bytes.
- Fixed API loop.
Alex :: Tue Oct 13 17:45:19 UTC 2009
Updated Emakefile, fixed maps:flip/2, removed login:setFrom.
Alex :: Tue Oct 13 17:41:26 UTC 2009
Corrected gitmodules.
Alex :: Tue Oct 13 17:28:06 UTC 2009
* Added "maps" module for cache loading and various map functions.
- Added "map" record.
- Added install step to the Makefile.
- Removed "misc" module.
- misc:home moved to aliter:home
- Added protobuffs gitmodule.
Alex :: Sat Oct 10 22:46:51 UTC 2009
* Added Zone server packets.
- aliter:install() is now more informative on success/fail.
- Fixed char server startup.
- Removed unnecessary misc:md5_hash/1.
Alex :: Thu Oct 8 15:23:04 UTC 2009
Updated records and api_pb to reflect Zone server additions, plus minor code refactorings.