The online racing simulator
Clojure InSim client
(7 posts, started )
Clojure InSim client
Hi all,

I'm developing an InSim client in Clojure. At time of writing, it is just a library lets you create a very simple TCP client, parse packets received and return packets of binary data. Not all InSim packets are implemented.

My ultimate goal is to create a championship server with automatic ballast weight (BTCC style). This is out of scope for this library, but As i'm just taking this step by step i thought it'd be a good idea to share this library with you!

If you like Clojure and/or like to contribute please feel free to do so :-)

https://github.com/verberktstan/clj-insim

Any suggestions welcome!
I improved the client a bit and released v0.1.5-SNAPSHOT!
- It doesn't crash anymore when multiple packets are returned by LFS (e.g. when a IS_FIN packet is send)
- You can safely return a collection of packets.
- Added some throttling in the feedback loop to improve performance.
- Updated the main ns to be of better use.
- Created a better readme on github (https://github.com/verberktstan/clj-insim)

It works really nice and stable now. There are a lot of packets not yet parsed (properly), but it is a work in progress..

If you like Clojure, please try it out and let me know what you think! You can ofcourse report issues via github, would be nice to get some help.

Cheerio!
Check out v0.2.0-SNAPSHOT !

Find it on GitHub & Clojars

What's new;
  • clj-insim automatically maintains the connection for you
  • clj-insim automatically registers connections and players for you
  • access registered connections with
    (clj-insim/get-connection 0)

  • access registered players with
    (clj-insim/get-player 1)

  • you can enqueue packets in multiple ways: by returning one or more packets from your dispatch function, or by calling
    (clj-insim/enqueue! lfs-client your-packet)

    from anywhere in your code..
  • Updated the readme to help you get started!
Any Clojure fanatics here? Please tell me what you think about clj-insim!
I've abandoned the old version, which still hangs around at Clojars though.

At https://github.com/verberktstan/clj-insim you find a new WIP version that's based on the excellent core.async stuff.

In the examples dir you find some examples, but it is not yet useable as a lib (via clojars).

You can download the code and add an example yourself if you want to try it out. :-)
I'm preparing for release of clj-insim version 0.3.0.
It's not yet ready to deploy to clojars, but hopefully will be in the near future.

verberktstan.github.io/clj-insim
I've created a github page with a link to the docs. These aren't very complete, but with the examples and the docs you might just come long.

To be continued and improved!
Announcing release clj-insim v0.3.0
Okay, hold your horses, keep children inside and close all the windows Omg omg omg

clj-insim v0.3.0 is officially released!
verberktstan.github.io/clj-insim

Any clojure fanatics out there, please try it. The readme, docs and examples should get you going.
Feel free to ask anything and/or contribute (file an issue or start a discussion)
I've released v0.3.1;

v0.3.1
What's Changed
Support insim version 9

Clojure InSim client
(7 posts, started )
FGED GREDG RDFGDR GSFDG