GithubHelp home page GithubHelp logo

karashiiro / machinaserver Goto Github PK

View Code? Open in Web Editor NEW
13.0 5.0 9.0 376 KB

A simple Machina wrapper to send segments to an HTTP server for easy IPC.

License: GNU General Public License v3.0

C# 100.00%

machinaserver's Introduction

MachinaServer

A simple Machina wrapper to send segments to an HTTP server for easy IPC.

machinaserver's People

Contributors

karashiiro avatar supamiu avatar zhyupe avatar ra-workspace avatar shambarick avatar p-doyle avatar

Stargazers

Roman avatar  avatar JRSmile avatar Zhangmw avatar  avatar Will Thompson avatar RiceCake404 avatar Chris Lohmann avatar FairyScript avatar  avatar Maxime Aubaret avatar 緹爾蒂 · 索拉 avatar Little-YangYang avatar

Watchers

James Cloos avatar  avatar  avatar 緹爾蒂 · 索拉 avatar  avatar

machinaserver's Issues

KR server have to run as administrator.

KR server run as admin, force. It's the default.

After TC v9.6.10, TC and MachinaWrapper also needs run as admin for packet capture.

Do you need any more information? 😅

Exception thrown in MachinaWrapper.Parsing.Parser.Parse when zero size packet is received

This is more likely a bug upstream somewhere, as I don't think MessageReceived should get called with a zero size data array, but its probably best to gracefully handle the situation.

Currently this exception bubbles up here, and causes the machina TCPNetworkMonitor thread to abort silently.

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.BitConverter.ToUInt32(Byte[] value, Int32 startIndex)
   at MachinaWrapper.Parsing.Parser.Parse(Packet meta) in C:\Users\amorton\source\repos\ffxiv\MachinaWrapperJSON\MachinaWrapper\src\Parsing\Parser.cs:line 75
   at MachinaWrapper.MachinaWrapper.MessageReceived(String connection, Int64 epoch, Byte[] data) in C:\Users\amorton\source\repos\ffxiv\MachinaWrapperJSON\MachinaWrapper\MachinaWrapper.cs:line 165
   at MachinaWrapper.FFXIVNetworkMonitor.OnMessageReceived(String connection, Int64 epoch, Byte[] message) in C:\Users\amorton\source\repos\ffxiv\MachinaWrapperJSON\MachinaWrapper\FFXIVNetworkMonitor.cs:line 55
   at MachinaWrapper.FFXIVNetworkMonitor.ProcessReceivedMessage(String connection, Byte[] data) in C:\Users\amorton\source\repos\ffxiv\MachinaWrapperJSON\MachinaWrapper\FFXIVNetworkMonitor.cs:line 137
   at MachinaWrapper.FFXIVNetworkMonitor.<Start>b__26_1(String connection, Byte[] data) in C:\Users\amorton\source\repos\ffxiv\MachinaWrapperJSON\MachinaWrapper\FFXIVNetworkMonitor.cs:line 96
   at Machina.TCPNetworkMonitor.OnDataReceived(String connection, Byte[] data) in C:\Users\amorton\source\repos\ffxiv\machina\Machina\TCPNetworkMonitor.cs:line 82
   at Machina.TCPNetworkMonitor.ProcessData(Byte[] buffer, Int32 size) in C:\Users\amorton\source\repos\ffxiv\machina\Machina\TCPNetworkMonitor.cs:line 340
   at Machina.TCPNetworkMonitor.ProcessNetworkData() in C:\Users\amorton\source\repos\ffxiv\machina\Machina\TCPNetworkMonitor.cs:line 310
   at Machina.TCPNetworkMonitor.Run(Object state) in C:\Users\amorton\source\repos\ffxiv\machina\Machina\TCPNetworkMonitor.cs:line 209

It is choking on this line (where Offsets.PacketSize = 0):

meta.PacketSize = BitConverter.ToUInt32(meta.Data, (int)Offsets.PacketSize);

Correct way to add/update opcodes?

Hello. I am looking to update an opcode and possibly add a new one. I thought the Sapphire project was the correct place to do that but it seems that their ipcs.h is only up to 5.35. Should I open a PR on this project instead or..?

How to build the JsonWrapper

I built a version of MachinaWrapperJSON and placed the ouput in the MachinaWrapper folder. But i think i missed something because i get majoritory some unknown message data on raw event.

For example the marketBoardItemListing event not work, but the readme say since IPC opcodes are updated for 5.0 MarketBoardItemListing = 0x013C, // updated 5.0 there should be no major break of the datas. The message event work since i log my own message in game in node.

Here that i did to built a version of MachinaWrapperJSON

  1. Cloned this repository
  2. Created a packages folder into the clone of this repos
  3. Downloaded the package of Machina.FFXIV https://www.nuget.org/packages/Machina.FFXIV/2.1.1 into packages
  4. Builded a version of this repos with msbuild
  5. Copied all the outputs files of MachinaWrapperJSON\MachinaWrapper\bin\Debug into node-machina-ffxiv/MachinaWrapper/

Can you explain me how to build the MachinaWrapperJSON or what i did wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.