Filip Maj
a4ea5f024b
Merge branch 'actor_instancing' into develop
...
# Conflicts:
# sql/gamedata_actor_class.sql
2016-06-12 18:52:30 -04:00
Filip Maj
fec348136e
Merge branch 'master' into develop
...
# Conflicts:
# FFXIVClassic Map Server/CommandProcessor.cs
2016-06-12 18:51:24 -04:00
Filip Maj
957a8d89bb
Null event conditions get defaulted to empty conditions to allow anything to spawn. More work on the scripts. Committing the new sql schema + imports of all 3 town zones.
2016-06-12 18:43:41 -04:00
Tahir Akhlaq
c23f9c7ca9
PROJECT: added common library to make common files actually common
...
- renamed sln to FFXIVClassic.sln
- threaded logging
- todo: print packets using Log.Packet
2016-06-12 20:12:59 +01:00
deviltti
16d4779970
Fixed packet ByteArrayToHex output
2016-06-10 22:40:46 -04:00
deviltti
554c8b5514
Fixed packet Console output
2016-06-10 21:14:28 -04:00
deviltti
33a52c4fa8
Fixed derp in Console output
2016-06-10 20:17:35 -04:00
deviltti
1c712c7533
Cleaned up LogFile and ByteArrayToHex utils.
2016-06-10 19:58:01 -04:00
Filip Maj
f0d4429f65
Child scripts now loaded by a uniqueId in the spawn table.
2016-06-09 22:58:03 -04:00
Tahir Akhlaq
8b93abe86e
servers now log (almost) everything to file
...
- regex'd in mysqlexception logging
- servers can now specify server_port, log_path, log_file
- added scripts to import/export all tables (exporting will export a handful of garbage table names, open and check for structure before deleting)
- fixed packet logging (thanks deviltti)
2016-06-09 19:48:06 +01:00
Filip Maj
23b6ede128
Designed the new script system for npcs. Added missing appearance info.
2016-06-09 00:46:17 -04:00
Filip Maj
fc51b7f564
Modified scripts to work with new system.
2016-05-29 16:03:24 -04:00
Filip Maj
62ed9b22f1
Implemented actor instancing, as well as automatic name generation for NPCs.
2016-05-29 15:14:09 -04:00
Filip Maj
f0ec2125ac
Found out the second weather packet value is a transition time.
2016-05-09 22:19:57 -04:00
Filip Maj
b45390adb6
Fixed null worldManager due to it being set as a static variable at class creation.
2016-05-09 20:57:32 -04:00
Filip Maj
8df79c9e6f
Modified the SetWeatherPacket. Second value is a toggle for instant or smooth transitions.
2016-05-09 20:48:18 -04:00
TheManii
6dcdabf9a4
Added more weather types
2016-05-09 16:58:04 -04:00
TheManii
c02c09a237
Bugfixed with !test
2016-05-09 01:15:58 -04:00
TheManii
59f1ef0594
REALLY fix whitepaces
2016-05-09 00:48:58 -04:00
TheManii
c80eb623b1
Fixed whitespaces
2016-05-09 00:48:16 -04:00
TheManii
a99a348c36
Added !help entries for !test weather
2016-05-09 00:40:46 -04:00
TheManii
101a2d50ed
Fixed typo in !help
2016-05-09 00:26:53 -04:00
TheManii
11a371f32b
Added !set weather <weathertype>and populated weather table
2016-05-09 00:23:35 -04:00
TheManii
2c18016a29
Merged master into ingame_help
2016-05-04 23:04:03 -04:00
Filip Maj
541456bd8e
Fixed bug with warp. WorldManager cannot be statically stored like that.
2016-04-24 17:59:50 -04:00
Ioncannon
9e2960c047
Merged in TheManii/ffxiv-classic-server (pull request #9 )
...
Make post build not fail due to modified files/silently ignore updated files
2016-04-18 16:23:55 -04:00
TheManii
01dd955376
Wrong flag
2016-04-18 15:47:57 -04:00
TheManii
426750f931
Make post build not fail due to modified files/silently ignore updated files
2016-04-18 15:42:17 -04:00
Filip Maj
3d5fa45730
Merge branch 'develop'
...
# Conflicts:
# FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
# FFXIVClassic Map Server/Server.cs
# data/scripts/player.lua
# scripts/zones/193/npcs/pplStd_11@0C100.lua
2016-04-18 13:31:55 -04:00
Filip Maj
79eaf5d79e
Added more quest functions and completed the scripts for Gridania and most of Ul'dah. Up to the battle part that is.
2016-04-17 19:09:01 -04:00
Filip Maj
bd4e4a293c
Removed a buffer being created for no reason.
2016-04-14 08:30:34 -04:00
Filip Maj
d989ec2a58
Added two callbacks to the Director; onTalked and onCommand. Split the command and event starts and keep track of them separately.
2016-04-14 08:30:21 -04:00
Filip Maj
108f5aa677
Fixed crash due to bad constructor for QuestDirectorMan0L001. Unsigned integers will also write out as lua 0-datatype.
2016-04-11 22:49:05 -04:00
TheManii
73d5b9fbf1
Use intra-zone warps for !warp relative
2016-04-11 14:33:18 -04:00
Filip Maj
fe111ab6ca
Quest data is now saved/loaded from the DB.
2016-04-10 13:11:12 -04:00
Filip Maj
b8a3d4f1e0
Added quest director class.
2016-04-10 11:14:36 -04:00
TheManii
02e9b52a02
Fix typo
2016-04-09 13:26:46 -07:00
TheManii
5c7ca212aa
2nd half of previous commit
2016-04-09 12:38:15 -07:00
TheManii
c38fbc0c09
*Revert ea1e16a
, should be done globally and not simply here
2016-04-09 12:35:29 -07:00
TheManii
06606c5f01
*Revert changes to worldmanager.cs, not needed anymore
...
*Made !warp silently catch all exceptions so they dont crash server/don't change player state if invalid
*Moved rest of !warp parsing logic into parseWarp(), doWarp() now purely handles actual act of warping
2016-04-09 12:27:04 -07:00
TheManii
2eb40a0d7c
Save player rotation for relative warps
...
Make !warp more robust with error handling
2016-04-09 11:28:21 -07:00
TheManii
b1a9ced93e
Merged master into ingame_help
2016-04-08 13:07:20 -04:00
TheManii
dbbd1fa0d8
Fix merge
2016-04-08 10:03:35 -07:00
TheManii
de2ec984e4
Revert "Fix merge"
...
This reverts commit 29228a0c11
.
2016-04-08 09:59:56 -07:00
TheManii
29228a0c11
Fix merge
2016-04-08 09:57:40 -07:00
TheManii
5920d93b19
Merged master into ingame_help
2016-04-08 12:51:28 -04:00
TheManii
3790920db3
Typo
2016-04-08 00:51:34 -07:00
TheManii
21745a6aa8
Added relative warps
2016-04-08 00:48:34 -07:00
TheManii
fc07d2e24d
Merge ingame_help into master
2016-04-07 22:25:58 -07:00
TheManii
33be97ea9d
Make CommandProcessor more robust
2016-04-07 22:22:31 -07:00
Filip Maj
c0cd7555e1
-Fixed up the quest flag functions.
...
-Renamed the ActorSpecialGraphicPacket to SetActorQuestGraphic as those icons all have to do with questing.
-Got onSpawn to work and implemented the quest graphics.
-Added new QuestDirector class.
2016-04-07 22:34:10 -04:00
Filip Maj
1f5788def8
Redundent zoneid was redundent.
2016-04-07 22:32:04 -04:00
TheManii
cc5d0b139a
Added new !warp to help
2016-04-07 12:29:17 -07:00
TheManii
ecc61ea5f9
Surrounded command chain with region boxes
...
Changed doWarp() to handle in implicit, in-zone only warps
Might have issues with instanced zones, untested
2016-04-07 12:25:28 -07:00
TheManii
b17d193a59
Fix previous commit
2016-04-07 11:41:56 -07:00
TheManii
7c0594b749
Cherrypick *b16ea7b Disable login10/11
2016-04-07 10:37:14 -07:00
TheManii
b16ea7bc44
Disable login10/11
2016-04-07 10:21:04 -07:00
TheManii
4cf005467a
Moved most of the strings to external resource file
2016-04-06 19:55:12 -07:00
TheManii
cd8cb1acb3
Made give/removecurrency consistant with help description
2016-04-06 16:28:24 -07:00
TheManii
26f5e1be28
Fix spelling
2016-04-06 15:34:04 -07:00
TheManii
ea1e16aea7
Make Getters more case consistant
2016-04-06 15:29:24 -07:00
TheManii
cdcdd6a584
Split off ingame commands from server
2016-04-06 15:22:26 -07:00
TheManii
c74e40f7d0
Merge 23aef8c
Removed need for the login2.bin packet file.
...
Merge 49a4bf1
Fixed the SQL schema to work with the map server as well as updated the server id in the config file to match that in the database
2016-04-06 10:51:12 -07:00
TheManii
1ef3e350c0
Fix line endings
2016-04-05 16:13:16 -07:00
TheManii
7a8e53a8ac
Add in ingame help system
2016-04-05 16:06:38 -07:00
TheManii
5892887e4c
Merged Ioncannon/ffxiv-classic-server into master
2016-04-05 18:33:46 -04:00
Filip Maj
23aef8cc46
Removed need for the login2.bin packet file.
2016-04-05 17:34:34 -04:00
TheManii
1a43f15800
Fix partial copies post compile
2016-04-05 13:03:46 -07:00
TheManii
5d3f25f1a8
Don't Clobber existing files
2016-04-05 11:08:02 -07:00
TheManii
ddf4d0d202
Consolidated server data and automatically place them in approporate directories post build
2016-04-05 10:42:42 -07:00
Filip Maj
b68d13ea7f
Cleaned up the lua calls and renamed "onInstantiation" to "init". Added a "onSpawn" callback but still working on it. Added the "ActorSpecialGraphicPacket" and functions to use it.
2016-04-02 17:56:01 -04:00
Filip Maj
e501d5b796
Merge branch 'develop'
2016-04-01 23:50:29 -04:00
Filip Maj
4c391f64bc
Removed old inn code and realigned all the cutscene flags. Offsets will need to be figured out again though.
2016-04-01 23:50:17 -04:00
Filip Maj
91842ab08a
Merge branch 'develop'
...
# Conflicts:
# FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
2016-04-01 23:27:34 -04:00
Filip Maj
6c3918ac2f
Got the kick event packet working and implemented the director parameter in the player instantiation. The first argument of the set event status packet is an "isEnabled" flag; switched to bool rather than int.
2016-04-01 23:24:14 -04:00
Filip Maj
cf73522291
Reversed change to output folder that was done in previous pull request merge.
2016-03-30 20:49:37 -04:00
Filip Maj
8da3a6ff9c
Merge branch 'develop'
...
# Conflicts:
# FFXIVClassic Map Server/packets/send/Actor/events/SetEmoteEventCondition.cs
2016-03-30 20:18:28 -04:00
Filip Maj
597a800599
More work trying to get the opening cutscene to fire right away.
2016-03-30 20:15:21 -04:00
Andrew Babbitt
eaafba79e2
Updated .gitignore and changed all projects to build in a central directory at the root of the project.
2016-03-29 17:38:41 -06:00
Filip Maj
48f1fbc8f5
Implemented the emote and notice event conditions.
2016-03-29 17:09:16 -04:00
Filip Maj
1dccc0530e
Static actor file can be now loaded from the original encrypted script in the FFXIV folder. This way I do not run into issues of sharing client files.
2016-03-28 23:05:19 -04:00
Filip Maj
b33b0b1bc4
When zoning into a inn, cutscene packet will be sent as well.
2016-03-28 22:00:11 -04:00
Filip Maj
b69e18ff3c
Companion name was off by 1.
2016-03-28 21:52:02 -04:00
Filip Maj
a615f29e63
Added path companion data to the cutscene book packet. Now that packet will fire if zoning into the inn. Removed some debug logs. Removed a duplicate zone packet send call.
2016-03-28 21:00:33 -04:00
Filip Maj
4d57aa72a6
Cleaned up the 0x02 packet. It fires in response to the 0x2 packet sent by the client it seems.
2016-03-28 12:14:10 -04:00
Filip Maj
a30311d12a
Added director related code to player and packet processor. Cleaned up some debug messages. Added a flag when a player is "zoning in".
2016-03-28 11:31:21 -04:00
Filip Maj
f8ab0cd86d
Added langauge code packet (0x6) and 0x2/0x7 temp packets to clean up the login packets sent by client.
2016-03-28 11:30:02 -04:00
Filip Maj
9c28e966f7
Added director code to player class and actor namespace.
2016-03-23 01:27:12 -04:00
Filip Maj
49a13effca
Fleshed out the quest actor and added a place to store the current active quest actors in the Player actor.
2016-03-21 11:42:27 -04:00
Filip Maj
2048d8d188
Implemented a intra-zone teleport. Trigger Name is now sent to to the "eventStart" lua callback. Lua scripts can now access world manager.
2016-03-20 21:18:46 -04:00
Filip Maj
08fd862939
Implemented the emote and notice event conditions.
2016-03-20 19:34:39 -04:00
Filip Maj
0876b293e8
Started to implement private areas. Works mostly, but only one instance is created. All the push triggers work more or less except bounding box.
2016-03-20 19:29:38 -04:00
Filip Maj
67fed3dba5
Fixed bug where new characters would not have items equipped. This was due to the slotId was being saved, not the unique itemId.
2016-03-20 12:43:20 -04:00
Filip Maj
335ec414d6
Levels are now loaded in from the database, and "mainSkillLevel" properties are also correctly set.
2016-03-19 19:21:16 -04:00
Filip Maj
1f60bcf4fc
Finished code to send character skill (class) info. Added parameterdata request packet that requests this info.
2016-03-19 18:43:02 -04:00
Filip Maj
d2a5eaa2c8
Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-server
2016-03-19 10:23:20 -04:00
Filip Maj
a93843510e
Cleaned up script packets and added the InfoResponse packet (internally the DataPacket). Added more info to the music packets. More work on class changing.
2016-03-19 10:22:20 -04:00
Filip Maj
f92d9ea2f3
Added lobby to the solution. Cleaning up dependencies.
2016-03-16 17:07:48 -04:00
Filip Maj
01eceee58f
Smallclothes equipment are now saved under the "Adventurer" class as they are a separate thing from classes.
2016-03-12 10:54:08 -05:00
Filip Maj
f71b4ef031
Fixed bug where DB writing for equipment would be toggled off if gearset was nil for some reason. Added in a property change to get the bottom class icon to refresh showing the new class.
2016-03-12 10:01:41 -05:00
Filip Maj
e851c767df
Finished check command as well as gearsets and switching between classes. Property changes still have to be written though.
2016-03-12 02:52:34 -05:00
Filip Maj
44e5430fdc
Implemented equipment and equip graphics. Add some zone callbacks and "first start" functionality. Added playtime.
2016-03-06 17:55:42 -05:00
Filip Maj
c9116005d6
Changed untradeable to itemType (since it's used for bazaar as well).
2016-02-22 22:33:52 -05:00
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