Commit graph

304 commits

Author SHA1 Message Date
ORelio
c04b17cabc Implement Terrain and Movements for MC 1.13
Special thanks to @TheSnoozer and @vkorn for their help!

 - Implement global block Palette mechanism
 - Add class generation tool from blocks.json
 - Regenerate Material.cs and redefine solid blocks
 - Migrate previous Material.cs into Palette112
 - Generate Palette113 from MC 1.13.2 blocks.json
 - Improve Block class to handle up to 65535 block states
 - Adjust terrain parsing, small fixes in packets
 - Remove unused snapshot-related protocol cases

Solves #599
2019-04-25 22:19:50 +02:00
TheSnoozer
b57630a5e4 https://github.com/ORelio/Minecraft-Console-Client/issues/493: UUID not properly storing due to GUID conversion (need to convert a Java big-endian Guid to a C# little-endian Guid) 2019-04-22 14:22:14 +02:00
TheSnoozer
33edd15c9b https://github.com/ORelio/Minecraft-Console-Client/issues/625: add GetOnlinePlayersWithUUID() which allows to retrive a UUID <-> playerName relation 2019-04-22 14:22:14 +02:00
ORelio
2ebc8eded5 Implement file polling for disk session cache
For use in case FileSystemWatcher does not work, see #684
2019-04-17 05:18:19 +02:00
ORelio
5e11348e6f Debug messages for login attempt
Print stack traces when debugmessages=true for issue #696
2019-04-17 04:38:09 +02:00
ORelio
d0088e0dca Update player look when using pathfinding
Document Look command in Readme
Improve UpdateLocation API
Small coding style fixes
2019-04-12 17:11:41 +02:00
Stanley Powers
ba0f51dc8c Update func info and use concatBytes 2019-04-12 16:25:15 +02:00
Stanley Powers
8bfdb2ab59 Look command 2019-04-12 16:25:15 +02:00
LinTx
950fc42118 general 1.13.2 support(v404 protocol) 2018-11-07 22:25:48 +01:00
TheSnoozer
32667f8d5d general 1.13.1 support (v401 protocol) - there doesn't seem to be any packet changes since 1.13 (v393) 2018-10-07 08:27:31 +02:00
TheSnoozer
aad3d8b2ef https://github.com/ORelio/Minecraft-Console-Client/issues/525: general 1.13 support (v393 protocol). Note that terrainandmovements might cause some issues 2018-10-07 08:27:31 +02:00
Barnehhh
35058327d0 GetPing AutoTimeout timeout delay change.
Increase the time of the fast srvrecord setting from 5 to 10 seconds. As of now the method gets timed out before actually completing/attempting the Protocol18 DoPing.
2018-07-04 19:48:43 +02:00
ORelio
ecf0114f62 ConsoleIO: Sync with SharpTools
Had 2 versions of the ConsoleIO class, one here inc MCC (the original),
and another one in SharpTools, more generic, for use in other projects.

Both had diverged, this commit imports changes from the other repository.
This should not have any particular effect on MCC, besides adding more
documentation and settings in the source code of the class.

If any issue arises, as always, please report it :)
2018-05-28 22:09:50 +02:00
ORelio
143fcf7155 Move SessionToken.cs 2018-05-25 20:27:31 +02:00
ORelio
a75710b501 Fix online-mode server login
Fix session checking on server login as described in issue #451
2018-05-23 23:08:17 +02:00
ORelio
1cecf2d788 Improve debug output for HTTPS requests
For diagnosing session errors in #450 and #451
2018-05-23 19:07:31 +02:00
ORelio
79aaa04775 ScriptScheduler: Add debug messages for issue #431
These messages will only apprear if debugmessages=true in config.
2018-05-08 19:27:19 +02:00
ORelio
18fd24d2d5 Improve session caching
- Change SessionCache.db to SessionCache.ini
   Allows users to view and edit session cache

 - Automatically import previous SessionCache.db
   But this file is only read, not updated

 - Automatically import Minecraft session
   If you are logged in in Minecraft, no need to login again
   This is only done if Disk session cache is enabled
   See #232 and #430 for more information

 - Disk session cache becomes default
   The feature is no longer experimental and now recommended
   as the Mojang login servers now have a severe rate limit
   Previous default was Memory session cache, not saved to disk
2018-05-03 23:51:56 +02:00
Pokechu22
ab13a63ba1 Fix ID of resource pack status in 1.12+
0x17 is the recipe book packet.  0x18 is resource pack status.

Fixes #338
2017-10-20 07:55:05 +02:00
Pokechu22
b1a66791a1 Add support for 1.12.2
While there are protocol changes to the keep alive packet, the way MCC implements it should mean that the changes do not affect us.
2017-09-19 08:06:22 +02:00
Pokechu22
c85352f819 Fix packet compression 2017-09-09 17:07:26 +02:00
Pokechu22
7ba0c3c8fc Don't hardcode the ID of TeleportConfirm
Also, always send the teleport confirm packet, even when terrain and movements is not enabled.
2017-09-09 17:07:26 +02:00
Pokechu22
fd2e3d5797 Implement 1.12.1 protocol 2017-08-03 23:08:25 +02:00
Pokechu22
550beda7c4 Update to 1.12
This adds support for Minecraft 1.12's protocol, and also abstracts out outgoing packet IDs.  I include packet IDs for some 1.12 snapshots, even though snapshot versions aren't supported, because I already had written the code (though in a far more messy variant) for my MC-106551 test script; while they won't be used right now, they may be useful if snapshots are ever formally supported in the future.
2017-06-10 09:09:48 -07:00
ORelio
dc09896959 Allow access to raw JSON messages from ChatBot
See #275
2017-05-31 20:54:16 +02:00
ORelio
9f1ef83680 Move Json class into main package
See #138
2017-05-06 21:08:56 +02:00
ORelio
ffb1adeb4d Add login request and response debug messages
See #269

+ Add exaxct mono packages in README, thanks @Pokechu22 for that
2017-04-17 15:58:46 +02:00
ORelio
a220ee272c Server Ping: improve BungeeCord version detection
See #227
2017-03-14 23:33:33 +01:00
ORelio
a254a282cd Rewrite SRV lookup procedure using HeijdenDns
See #253
2017-03-11 15:30:26 +01:00
ORelio
693073edfc Replace DnDns with HeijdenDns
HeijdenDns seems to do a better job at querying SRV records
2017-03-11 15:28:32 +01:00
ORelio
a344ac4101 Implement more realisic fall to ground
Should help moving around in servers using anti-cheat plugins.

See #195
2017-03-10 23:40:02 +01:00
Nikolay Dmitriyev
7088d09330 add 1.11.2 to supported protocol versions 2017-02-06 16:33:19 +04:00
Pokechu22
bc0a11d55b Add 1.11.1 support 2016-12-20 16:59:48 -08:00
ORelio
4b2fd4ccb1 TryFix crash for 1.7 chunk data
See #217
2016-11-19 16:23:35 +01:00
ORelio
609b939159 Minecraft 1.11: Raise chat message max length to 256 2016-11-19 16:06:08 +01:00
ORelio
8ec2b2e570 Use short SRV resolving timeout
By default, lower SRV resolve timeout from 30 seconds to 5 seconds
Should help people facing SRV issues, see #213
Timeout can be set to 30 seconds in settings.
2016-11-17 11:18:35 +01:00
Pokechu22
8a4b67c93e Add 1.11 to the list of accepted protocols 2016-11-14 15:39:41 -08:00
ORelio
e4d93041fa Fix constant session cache reload from disk
Disk session cache was constantly reloaded (if enabled)
 + Add additional debug messages / update error messages

See #101
2016-10-08 20:24:43 +02:00
ORelio
1180c06b1f Show links embedded in chat
Allows clicking if supported by terminal,
or at least copy and paste to web browser.

Suggestion by brkmrr9 in #207
2016-10-07 19:52:28 +02:00
ORelio
9cd983c50d Add support for Minecraft Service DNS Records
- Add DnDns library for performing DNS queries
 - Add query method for SRV record
 - Resolve Minecraft services

This allows resolving actual server addresses for
servers using SRV records on their domain names

SRV records are basically DNS redirection eg:

  myserver.net -> srv1.myserver.net:12345

Should solve #186 reported by sammyvsparks and many others.
2016-10-06 19:13:58 +02:00
ORelio
f82cb8f83a Fix exceptions not handled in DoHTTPSRequest
Bug report by GetPots. Thanks!
2016-09-24 13:48:39 +02:00
ORelio
2a07fbbae6 Remove tab display name experiment (not working)
- Tab display names should hold display name but...
 - Server sends <UUID, name, null> x Player count
 - TabListPlus sends <SlotID, ???tab#01, SlotText> x Slot Count
 - So we don't have player display names, only worthless slots
 - So the whole feature was useless, reverting to name only.
2016-08-27 15:46:34 +02:00
ORelio
61ce935c63 Add support for Minecraft Settings
- Add Minecraft vanilla settings from Settings screen
 - These settings are sent to server when joining
 - Allows to customize skin layers shown to other players
 - Most other settings are ignored by servers
 - Update language file from 1.9 to 1.10 version
 - Minor aesthetic changes in INI file comments

Suggestion by TNT-UP in issue #161 and Splodger1 in MC Forum.
2016-08-26 12:21:38 +02:00
ORelio
b1d4f85b23 Implement tab list display name update
Packet 0x2D with action 0x03
2016-08-23 00:13:46 +02:00
ORelio
461385d057 Ignore tab list items not containing a valid name
For cleaner /list output without "???tab"
placeholders eg from TabListPlus.
2016-08-22 23:15:19 +02:00
ORelio
9a98a9d46f Store extended player info, list display names
- Add 1.10.1 and 1.10.2 in supported version list
 - Store both player name and player display names
 - List command will sort players by player name
 - List command will now display by display name
 - Ability to use /list raw to display by real name

Suggestion by Johngreen123
2016-08-22 19:40:58 +02:00
ORelio
881e080fd6 Add Terrain and Movements for MC 1.7
Add full support for terrain and movements on MC 1.7
Also fix #179 which was due to terrain and movements
beign enabled although unsupported on MC 1.7
2016-08-21 15:44:15 +02:00
ORelio
e8f51ca22b Fix The End terrain load crash for 1.9+
Bug report by TNTUP, See #173
2016-07-22 23:48:14 +02:00
Pokechu22
5456a6e969 Stop attempting to read the reduced debug info value in 1.7
Fixes #165.  Reduced debug info was added in 1.8, and isn't found in 1.7.  Since it isn't there in 1.7, the client would crash when it attempts to read it on the join game packet.
2016-06-20 15:18:27 -07:00
Pokechu22
546b307cf3 Fix 1.9 terrain and movement in the nether
The nether doesn't send skylight, so we need to ignore skylight in the nether for it to work.  However, that means that dimensions need to be tracked, so the respawn packet is now also tracked (and the forge dimension override packet)
2016-06-10 16:59:53 -07:00