Commit Graph

431 Commits

Author SHA1 Message Date
Filip Maj
83fb9badd7 Finished writing the query and editing the inventory methods to use the gamedata. 2016-02-21 21:44:11 -05:00
Filip Maj
4bebeb387a Fixed use to isUsable in utility function. 2016-02-21 20:48:54 -05:00
Filip Maj
0e4b9f4263 Finished writing final datastructure for items. Did some cleanup in server. 2016-02-21 20:48:07 -05:00
Filip Maj
e72f1d3dcf Finished the structure of the database item loader. Added the graphics portion of the reader. 2016-02-21 16:34:29 -05:00
Filip Maj
2f3f677ec4 Wrote item loaders for gamedata. 2016-02-21 16:13:35 -05:00
Filip Maj
d66d2908ec Added in all the utility functions from the Item script. 2016-02-21 15:00:49 -05:00
Filip Maj
d2ac603efa Renamed the "Item" object to InventoryItem. Began writing the Item object that will be used to store game data items. 2016-02-21 14:06:23 -05:00
Filip Maj
c2f0b9d999 Equipment now working. Still need to write database saving/loading. 2016-02-20 21:20:54 -05:00
Filip Maj
b7fd3e442c Added 0x6c to the actorIdChanger. Mount appearance is now broadcast to show Goobbue. Equipment packets implemented as well as Equipment object. 2016-02-20 16:51:35 -05:00
Filip Maj
a47d5f96a5 Fixed emotes not being sent to the emoter. Fixed appearance packets' gloves/legs being ordered wrong. Chat is implemented. Changed commands to start with '!'. 2016-02-18 22:38:54 -05:00
Filip Maj
c6ac8b2f14 Fixed an error in the netcode that would cause the client to d/c on partial packets. Set buffer size to 0xFFFF due to disconnect on really large packets (ie gm packet). Implemented support ticket packets. 2016-02-16 22:53:53 -05:00
Filip Maj
cb4171f1fd Bunch of bugfixes and final tweaking to get inventory working. 2016-02-14 12:09:18 -05:00
Filip Maj
47be08fbf7 Finished remove item code. Inventory Add/Remove should be complete. 2016-02-13 22:25:40 -05:00
Filip Maj
110a112328 Implemented remove though will need to test more. Finished tweaking addItem(itemId, quantity). 2016-02-13 21:14:49 -05:00
Filip Maj
73732ac542 Fully implemented Lua Param Data Type 9. 2016-02-13 16:39:33 -05:00
Filip Maj
1f3cd8eaf3 Added the two new datatypes to get the inventory commands to parse properly. 2016-02-13 16:33:33 -05:00
Filip Maj
69b34fdce7 Reworked the inventory system so that each inventory type is contained in it's own "Inventory" object. Also, fixed the Inventory packets being all malformed. 2016-02-13 14:12:05 -05:00
Filip Maj
df2ac1fb32 Added all the inventory packets, and implemented add and get inventory from the db to the server. Inventory at login is now connected to the db! 2016-02-11 22:14:40 -05:00
Filip Maj
c4dea467e3 Fixed missing seek, added battle packet 0x13C. 2016-02-07 15:43:32 -05:00
Filip Maj
0d880b6b75 Figured out most of the battle action packets; 0x139, 0x13a, 0x13b. 2016-02-07 15:28:08 -05:00
Filip Maj
6d8064aa6c Began work on the battle action packet. 2016-02-07 13:06:04 -05:00
Filip Maj
42ba95b69d Reworked zones to allow for isolated zones (IE Opening Zone) and private area instances. 2016-02-07 13:05:54 -05:00
Filip Maj
c83b4a12b9 Added the game message packets. Fixed "canRideChocobo" param in zone not working. Added a lot more function for lua to access. Various minor changes. 2016-02-03 00:45:11 -05:00
Filip Maj
cfb29b912f Speed is now stored in the actor. Redid actor speed packet to use float. Added GameMessagePacket which can use all 20 msg packets. Added functions for lua side to call in player obj. 2016-02-02 00:02:06 -05:00
Filip Maj
fe69f069ea Lua Parameter type 0 is now signed int. Type 1 in unsigned int. ShopSalesman script uses signed. 2016-01-31 12:23:12 -05:00
Filip Maj
45b9f9a064 Looked at pong packet once again. First 32bits are resent of incoming ping packet. Next 16bits always 0x14D. Heard from another dev this may improve movement for multiplayer. 2016-01-28 23:25:11 -05:00
Filip Maj
5c8277fbb9 Redid the database, actor_class and npclist was combined. Added commands to the lua engine. Script will default to a PopulaceStandard if no script detected to avoid crashing. Static Actors now loaded from the static actors file. 2016-01-28 23:24:20 -05:00
Filip Maj
789df97d48 More static actors loaded and can be accessed anywhere. Improved lua scripting to allow small talk. 2016-01-25 01:10:43 -05:00
Filip Maj
300748668f Removed NLua and replaced it with MoonSharp. Scripting for NPCs has been implemented, but still have to test a lot. 2016-01-24 17:11:35 -05:00
Filip Maj
74be19c51d Moved lua engine into server. 2016-01-24 10:32:37 -05:00
Filip Maj
e043be5ca4 Added a way to reset a zone and reload the NPC list. 2016-01-24 03:10:17 -05:00
Filip Maj
f1025f89d3 Rewrote the server commands. They can now accept a client connection, letting a user fire a command from within the game and only receive the response. Added actor removal for the instance system. Removed hardcoded packet 9. 2016-01-23 23:28:12 -05:00
Filip Maj
7bc3c8c2dd Added event conditions to the database. This is a JSON object that stores all types of conditions. The server also sends the correct packets to enable these conditions (minus the push packets... those aren't implemented). 2016-01-23 22:11:45 -05:00
Filip Maj
3b48ed1f74 Added actor event packets. 2016-01-23 20:12:04 -05:00
Filip Maj
ea6b1e33c7 NPCs now spawn and load template from the db. 2016-01-20 23:18:10 -05:00
Filip Maj
02b90edd3f Added two new commands; warp by zone entrance and a getpos command. Fixed character actor not appearing on zone... 0x2 packet only sent on login. Added spawnType to getSpawnPackets. 2016-01-20 00:02:57 -05:00
Filip Maj
3fcc9eea49 Moved the warp and send packet code out of packet processor and into the server object. Rewrote the warp command to use the world manager (still working on it). Add a playmusic command. 2016-01-19 22:07:29 -05:00
Filip Maj
d90dc0cb80 Redid the initial handshake code to handle the found connection type field. Server should no longer create two player objects and code has been reduced. Removed instances of connection1/2 getters... server simply sends packets down zone connection. Fixed issue with world manager not zoning in player due to missing 0x2 packet. 2016-01-19 21:47:59 -05:00
Filip Maj
093d3b7c15 Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-map-server 2016-01-19 21:06:50 -05:00
Filip Maj
0462b790b7 Built a WorldManager to handle zones. 2016-01-19 21:06:41 -05:00
Filip Maj
5d11a0b356 Changed isEncrypted to isCompressed in basepacket. After speaking with another dev, game packets are not encrypted... just compressed. Figured out that byte 3 of basepacket is the connection type when handshaking with the map server. 2016-01-19 13:31:24 -05:00
Filip Maj
887da7b503 Moving zone/login stuff away from packetprocessor into a "WorldManager" class. 2016-01-17 23:36:34 -05:00
Filip Maj
db62b05fdc Merge branch 'database_work' into scripting
# Conflicts:
#	FFXIVClassic Map Server/actors/chara/Character.cs
#	FFXIVClassic Map Server/actors/chara/npc/Npc.cs
#	FFXIVClassic Map Server/actors/chara/player/Player.cs
2016-01-17 11:53:52 -05:00
Filip Maj
d77344b725 Multiple zones are now stored on the server and accessed properly. 2016-01-17 11:48:55 -05:00
Filip Maj
0e85e2bddf Implementing zone settings from DB. 2016-01-17 01:51:02 -05:00
Filip Maj
9d67718060 Added utils to generate sql tables from game data. 2016-01-17 01:50:38 -05:00
Filip Maj
1c845e62e3 Implemented WeatherDirector , ZoneMaster, and WorldMaster in code. Zone objects has become the ZoneMaster actor object. 2016-01-16 23:03:04 -05:00
Filip Maj
724445a54a Achievements are now loaded from the database. Cleaned up login packets. 2016-01-16 18:38:49 -05:00
Filip Maj
f7702bca13 Added some new work parameters. Fixed GC Packet (wrong sized data). Connected player data packets to DB. Cleaned up login code. 2016-01-16 11:26:35 -05:00
Filip Maj
2bf532a6db Fixed bug in property reflection code. If array had 2 or more digit index, would truncate to 1 digit. 2016-01-12 01:20:09 -05:00
Filip Maj
e47904dc30 Got commands working. Wrong ID for one of em. 2016-01-12 00:43:52 -05:00
Filip Maj
aebaa1b70e Changed param constants. 2016-01-10 23:21:06 -05:00
Filip Maj
d9e274eb09 Quests and Leves now load from the db. 2016-01-10 14:15:46 -05:00
Filip Maj
5b5b99bb4b Got most of the properties getting set. Commands and General Parameters broken. 2016-01-10 13:36:36 -05:00
Filip Maj
d42dac543f Fixed wrong values sent for the setactorproperty packet. Initialized commandSlot_compatibility which was null. 2016-01-10 11:47:22 -05:00
Filip Maj
156f8e1e7d Added get init packets to packet processor. 2016-01-10 03:09:01 -05:00
Filip Maj
bea796ec85 Removed old db stuff. 2016-01-10 03:05:22 -05:00
Filip Maj
625ee299f7 Added more defaults. 2016-01-10 02:59:16 -05:00
Filip Maj
3205bd1c83 Added property init function which should get everything working. Added defaults to some properties. 2016-01-10 02:44:32 -05:00
Filip Maj
9fc4101812 Fixed all errors with player loader from db. DBAppearance is redundent and was removed. 2016-01-10 01:19:46 -05:00
Filip Maj
16f6fe98b3 Errr left error in last commit. 2016-01-10 00:01:33 -05:00
Filip Maj
861e8add4e Finished adding the rest of the player DB load.... except achievements. 2016-01-10 00:00:50 -05:00
Filip Maj
4dec77aa69 Added a load player character function to the database class. As I went through, changed the various properties to their correct datatype. Also added Work object to Character. 2016-01-09 23:22:10 -05:00
Filip Maj
44c45c4ad2 Cleanup. 2016-01-09 21:35:45 -05:00
Filip Maj
c9f35a207b Fixed up warping with new values for SetActorPosition packet. The script instantiation packet is done and implemented. Player init is done except for parameters. 2016-01-09 18:52:23 -05:00
Filip Maj
071b1f11a8 Removed test data. 2016-01-09 18:51:20 -05:00
Filip Maj
ff5a6c0c8e Fixed actors not spawning. 2016-01-09 17:09:36 -05:00
Filip Maj
315ec1f220 Fixed state being wrong size. Player substate will always be 0xBF. 2016-01-09 00:06:56 -05:00
Filip Maj
fac9d28529 Got warp working. BROKE ACTOR SPAWNING! 2016-01-08 21:37:09 -05:00
Filip Maj
360d72b376 Implemented the player portion of the new actor system. 2016-01-02 18:17:03 -05:00
Filip Maj
93a42c1ba3 Implemented the SetIdleAnimation packet, and a placeholder for packet 0x132 used to login. 2016-01-02 18:16:38 -05:00
Filip Maj
7aeb33d884 Figured out all main actor states and implemented the stuff properly. Implemented the chocobo/goobbue appearance stuff. Formatted CharaWork a bit. 2016-01-02 16:47:35 -05:00
Filip Maj
c4944032c8 Added NPC table to database loaders. 2016-01-02 14:05:37 -05:00
Filip Maj
b839a281cf Forgot additions to LuaUtils that Instantiate packet uses. 2016-01-02 14:05:03 -05:00
Filip Maj
04faf9d753 Begun reimplementing the whole actor system to follow more closely to the client side's system. Packet processor's reference chanced, and all ActorID vars in Actor class were changed to ActorId. 2016-01-02 14:04:45 -05:00
Filip Maj
67ee70e7c5 Packet for instantiating actor in lua engine implemented, though first value unknown. 2016-01-02 14:03:28 -05:00
Filip Maj
d5fb17bf7f Added NLua. 2016-01-01 14:11:48 -05:00
Filip Maj
5cb11d7957 More bin stuff untracked. 2016-01-01 14:09:45 -05:00
Filip Maj
f97e488584 Removed stuffing being tracked in the bin folder. 2016-01-01 14:05:59 -05:00
Filip Maj
734a3f4e7f Added implementations of the event receive/send packets. Added lua scripting stuff. Added some utils. 2016-01-01 14:04:44 -05:00
Filip Maj
d60938346b Fixed up message packet and set dream packets. 2015-12-30 12:20:47 -05:00
Filip Maj
01d32d4d15 Fixed up the chat packet and added a motd to the login sequence. 2015-12-29 01:51:06 -05:00
Filip Maj
aeef4f5616 Can queue subpackets now (automatically creates basepacket). List packets implemented. Base packets fully figured out and implemented. Login has been stablized and no longer crashes. Implemented the following packets: List Packets, Set Job packet, chat message receive packet, SetActorIcon, SetActorIsZoning, SetActorSingleStatus, AchievementRate and some unknown packets. 2015-12-29 01:20:46 -05:00
Filip Maj
3a8d7a43e5 Added some error checking to "sendpacket" command. Changed the packet processor to send correct packets when it receives 0x1CB, 0x1CE, and 0x1D3. Forgot to push latest project file. 2015-12-13 22:19:39 -05:00
Filip Maj
fa3d69b8b3 Map packet now sends region ID used to set various UI things (ie: search). Added weather ids to the weather packet. GM packet now takes a true/false value; the proper function is to send a 0x1D3 packet whenever client asks for it... false unless has GM then true. 2015-12-13 22:18:22 -05:00
Filip Maj
6f8125a947 Redid haschocobo packet and added hasgoobbue packet. Redid the GC Info packet to work properly. I've begun adding the list packets. 2015-12-13 22:16:40 -05:00
Filip Maj
93a08c0128 More recruitment packets implemented. Still need to finish the search results packet. 2015-12-06 22:58:42 -05:00
Filip Maj
4eda13501c Added receiving packets for GM stuff. Started implementing the recruitment packets. 2015-12-06 20:23:34 -05:00
Filip Maj
de353c9909 Added null option for status update packet to send empty list. Added 0x1CF response for FL list to packet processor. Exception reason will now be printed when can't send packet by console. 2015-12-05 18:58:06 -05:00
Filip Maj
0dcebd1658 Finished figuring out and implementing the last friend list and black list packets. 2015-12-05 18:18:35 -05:00
Filip Maj
daaded83c3 Added receive packet for all social add/remove. They are all the same structure so a single packet should do. 2015-12-05 00:11:29 -05:00
Filip Maj
2ce801f217 Implemented packets for add/remove for friend/black lists. 2015-12-05 00:05:09 -05:00
Filip Maj
bda686681d I've begun working on implementing social packets. 2015-12-04 23:39:57 -05:00
Filip Maj
1b190b1b4f Incorporated the GM packets into the packet processor. Still need to connect it to the DB. Added IssueListPacket and Start/EndGMTicketPacket. 2015-12-04 23:39:18 -05:00
Filip Maj
1f7c876461 Added support for actor property changed. Removed a lot of hard coded packets. Added a bunch of Support Desk packets. 2015-12-04 02:00:05 -05:00
Filip Maj
c8d6326ecd Finished SetChocoboName packet and fixed a bug with cutscene packet. 2015-11-29 00:30:41 -05:00
Filip Maj
4d83989d1a Finished the SetCutsceneBook packet. All offsets were written down. 2015-11-28 23:24:59 -05:00
Filip Maj
74f0426240 Cleaning up repo. Removing everything under /bin. 2015-11-28 20:56:57 -05:00
Filip Maj
9bb8cc816f Finished SetCompletedAchievementsPacket and renamed CutsceneBookSetPacket to SetCutsceneBookPacket in line with other "set" packets. Moved a lot of the hardcoded packets into the coded login part under PacketProcessor. 2015-11-28 20:56:22 -05:00
Filip Maj
50659afc82 Fixed actor state property packet not sending in string correctly. Added test command for it. Fixed bug in MurmurHash algo. 2015-11-28 10:00:18 -05:00
Filip Maj
0a6b005a0c Added command and script packets. Finished the SetActorProperty packet. Fixed bug with manually send packets from console. 2015-11-27 00:42:35 -05:00
Filip Maj
ba68546cc9 Begun writing script packets. 2015-10-16 21:30:49 -04:00
Filip Maj
d21bbf9b48 Merge branch 'fix_connection' into multiplayer 2015-10-15 22:36:21 -04:00
Filip Maj
498eaaf568 Disabled some debug output and removed test line in Server. 2015-10-15 22:34:11 -04:00
Filip Maj
2e683892c8 Connection working again. Fixed type 7 ping packet. 2015-10-15 22:17:21 -04:00
Filip Maj
7c22cece93 Removed unused incoming stream code. 2015-10-15 17:04:04 -04:00
Filip Maj
c767c626a3 Changed how packets are received. No longer have incoming stream and just parse as they come in onAccept. 2015-10-15 16:55:01 -04:00
Filip Maj
235a5adae3 Fixed bugs on how subpackets handled. Reorganized subpackets and split header with game header. 2015-10-14 23:48:49 -04:00
Filip Maj
6939c380cd Implemented the "SetActorProperty" packet. 2015-10-14 17:18:29 -04:00
Filip Maj
1d20f8b8b8 Started doing multiplayer stuff. 2015-10-13 22:58:21 -04:00
Filip Maj
7116c96b2f Fixed packet creators in Actor. Added replace id overload. Fixed Zone class, should work correctly. 2015-10-13 22:57:16 -04:00
Filip Maj
b17a86ba2c Added more packet creators to the actor class. Made sendPacketQueue private to avoid confusion. Added zone stuff to test multiplayer. 2015-10-13 19:15:44 -04:00
Filip Maj
1986a646e5 Added skeleton of "DoBattleActionPacket". Added size checks for chat message packet. 2015-10-13 12:50:23 -04:00
Filip Maj
2f6841b125 Fixed emote not working when no target was set. 2015-10-12 10:45:35 -04:00
Filip Maj
d3325676c5 Got rid of some garbage packets. Emote packet implemented though bug with descriptions. 2015-10-12 02:03:47 -04:00
Filip Maj
810edfcee4 More packets implemented. 2015-10-12 00:42:28 -04:00
Filip Maj
9a9388aabf Figured out a lot of the 19X and 1AX packets. Adding test packet data used in experiments. 2015-10-11 14:57:24 -04:00
Filip Maj
109eeff3a5 Fixes after deleting packets. 2015-10-08 00:52:47 -04:00
Filip Maj
29f030eddb Fixed music packet, no longer hard coded. Added setTarget, lockOn, and startScript packets. Console window has quieted down woo! 2015-10-08 00:49:31 -04:00
Filip Maj
a4d050b3be Trimmed and repaired some broken packets. HP works again and stuff is intractable. 2015-10-08 00:48:45 -04:00
Filip Maj
26eeb401e1 Added chocobo and script packets. 2015-10-08 00:48:14 -04:00
Filip Maj
51436349e7 Got rid of garbage packets. 2015-10-08 00:47:22 -04:00
Filip Maj
f0c914844e Actor speed packet done, actor position packet implemented. 2015-10-06 23:53:14 -04:00
Filip Maj
327dfc656b Implement the actor initial position packet and set state packet. 2015-10-06 23:08:40 -04:00
Filip Maj
af2262c4b1 Added chat packet and state change packet. Fixed file spelling error for RemoveActorPacket and deleted UnknownLoginPacket. Was empty. 2015-10-06 20:06:08 -04:00
Filip Maj
0f80fa12dc Added new equipment change packet. Renamed ChangeEquipmentPacket to EquipmentChangePacket. Renamed folder Actor to actor. 2015-10-06 11:53:40 -04:00
Filip Maj
a81d6bb26a Implemented equipment packets as well as actor name/appearance packets. Appearance and name is now retrieved for the chara id. 2015-10-06 00:39:18 -04:00
Filip Maj
b0ab527550 Implemented more packets. Implemented zone grid map. 2015-10-05 19:36:15 -04:00
Filip Maj
8f7e7d4c0d Implemented item packets, did some fixes with one of the conns going null. 2015-10-04 22:43:22 -04:00
Filip Maj
3cacedf6ab New debug packets. 2015-10-04 22:42:20 -04:00
Filip Maj
46c4c26d01 Initial Commit. 2015-09-25 18:52:25 -04:00