Author |
Topic: New website & new client (Read 6657 times) |
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
New website & new client
« on: Nov 9th, 2014, 7:48am » |
Quote Modify
|
I've finally gotten around to starting to write a new website for arimaa - yay! It's going to be a single page web app. I will put all the code on github and hope for many pull requests Before I do that I want at least some basic functionality: - login - chat - list of games - ability to open the current game client for a game Unfortunately the public protocol (http://arimaa.com/arimaa/protocol/) is incomplete as it has no chat. Another problem is that the server doesn't return CORS headers so I've had to implement a basic server that just forwards requests to arimaa.com In order to get around the incomplete protocol problem I reviewed the network traffic on the website. It is actually making requests to http://arimaa.com/arimaa/gameroom/client2gr.cgi and http://arimaa.com/arimaa/chat/srv.php neither of which are documented. When I replicate the chat request I get no data response at all - I suspect there is some domain security but am not sure Does anyone know anything about this or any alternative protocols? btw. My second signon is arimaaweb. You may see me messing around on the site
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: New website & new client
« Reply #1 on: Nov 9th, 2014, 1:39pm » |
Quote Modify
|
How does this compare to what rabbits is (or has been) working on?
|
|
IP Logged |
|
|
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
Re: New website & new client
« Reply #2 on: Nov 9th, 2014, 2:28pm » |
Quote Modify
|
I hadn't seen that rabbits had been working on something before. I've found that thread now but the link that he had up doesn't seem to be working - http://arimaaland.com/ It would be great to work from some static html if I could get my hands on it - I don't have much experience of web design, am much better as a programmer Do you think I should contact Omar directly about any technical issues I am having?
|
|
IP Logged |
|
|
|
lightvector
Forum Guru
Arimaa player #2543
Gender:
Posts: 197
|
|
Re: New website & new client
« Reply #3 on: Nov 9th, 2014, 11:02pm » |
Quote Modify
|
You should probably contact Omar. I've contacted Omar about this sort of stuff in the past when I was considering trying to add online gameroom functionality to the android Arimaa app that I released. At least for me, he was quite helpful and open to the idea. Unfortunately, I set that project aside due to some combination of getting bogged down and confused in the not-so-well-documented protocols and having too any other (non-arimaa) things that I wanted or needed to do.
|
|
IP Logged |
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: New website & new client
« Reply #4 on: Nov 10th, 2014, 9:05am » |
Quote Modify
|
At least regarding the gameroom chat I don't believe there is any domain check. You do have to include a valid user and auth token with the request. My simple script to check that weekend tournament participants are present is at https://github.com/Janzert/tournament_tools/blob/master/chat_check.py. There should also be a forum thread around here discussing the initial implementation of the chat, although that didn't include the user authentication. Janzert
|
|
IP Logged |
|
|
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
Re: New website & new client
« Reply #5 on: Nov 10th, 2014, 4:34pm » |
Quote Modify
|
I worked out why it wasn't working for me. I was using the sid from protocol version 1 as the value for auth. Instead the value that should be used is glob.me.auth from the gameroom. This is retrieved using the http://arimaa.com/arimaa/gameroom/client2gr.cgi url using the following form-data as a param! {"sid":"**********","action":"state"} Unfortunately, however much I try I cannot avoid getting a Internal Server Error when I try to replicate this request Time to go direct to Omar
|
|
IP Logged |
|
|
|
aaaa
Forum Guru
Arimaa player #958
Posts: 768
|
|
Re: New website & new client
« Reply #6 on: Nov 10th, 2014, 7:54pm » |
Quote Modify
|
In the chatroom, rabbits has been making occasional noise about his new website http://arimaaden.com/ this last few months and has even offered access to his source repository to others. You'll have to delve into the chat archive for details, but I think you should seriously consider teaming up with him.
|
|
IP Logged |
|
|
|
rabbits
Forum Guru
Arimaa player #1337
Gender:
Posts: 108
|
|
Re: New website & new client
« Reply #7 on: Nov 18th, 2014, 5:08pm » |
Quote Modify
|
Hi Brendan! I'm glad to see that someone else is serious about working on the site! I'm curious about what technologies you're using. In the chatroom, someone mentioned Clojure. And your comment about a single-page site hints at Angular.js or something similar. My site is built on the Node.js platform with the Express.js web framework. That is, it uses server-side Javascript. It stores sessions in Redis, and its main database is MongoDB (through Mongoose). It uses Socket.io for WebSockets, and it uses Angular.js somewhat. (I am not very comfortable with Angular.js yet.) I haven't worked on my site in a few weeks now. If someone else starts working on it actively, I will be more motivated to keep working on it myself. I'm currently on my third go at it. The Arimaaland link you posted in this thread is from my attempt using Google's Go language. I started with Node.js last December, and ran out of time to work on it in February. And in September, I started again from scratch with test-driven development. The second version had more features, but the current version is built better. I have a continuous integration site set up at http://testing.arimaaden.com I see that you intend to match the protocols that Arimaa.com currently uses. I am planning on more or less developing new interfaces (inspired by AEI). If you post your github link, I would happily pull your code and look at it. I felt the same way about not wanting to share my code before I had made sufficient progress. I can give you access to my (Bitbucket) repository if you want it. Rabbits
|
« Last Edit: Nov 18th, 2014, 5:09pm by rabbits » |
IP Logged |
|
|
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
Re: New website & new client
« Reply #8 on: Nov 18th, 2014, 6:25pm » |
Quote Modify
|
Hi Rabbits! Wow, based on your tests you've got a lot further than me. So far I've just been messing around with the existing APIs and putting the data on a basic website. My plan was just to reuse the existing arimaa server and put a nicer front-end on it. I didn't want to write a server side at all but resorted to it in order to handle web security. I had a minor brainwave over the weekend and realised I can create a domain record that will route all requests to arimaa.com and can revert to client side only again Are you writing an entirely new backend or wrapping the current APIs in a nicer protocol? Whoever was in the chatroom read my mind. I'm using clojurescript because I want to learn it and as it has 2 libraries I massively rate: - core.async - allows writing asynchronous code much more clearly than using callbacks - reagent - my feeling is that facebook's react is a better framework than angular. Reagent wraps that up nicely for clojurescript and seems incredibly simple to use I've created a github repo just now as a placeholder https://github.com/brendanator/arimaa There's nothing in it right now but hopefully will be soon. I would certainly like to check out your repo too Hopefully we can work out a way of joining forces and doing this thing! Brendan
|
|
IP Logged |
|
|
|
rabbits
Forum Guru
Arimaa player #1337
Gender:
Posts: 108
|
|
Re: New website & new client
« Reply #9 on: Nov 18th, 2014, 6:50pm » |
Quote Modify
|
I hadn't even heard of React. It looks cool! I like your idea of just rewriting the front-end and using the same back-end.... My strategy is to scrape the entire site and import all of that public data into the new site. If you send me your email address in a private message, I'll give you access to my Bitbucket repository.
|
|
IP Logged |
|
|
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
Re: New website & new client
« Reply #10 on: Nov 19th, 2014, 1:12pm » |
Quote Modify
|
I've sent you my email address in a private message. I hope it gets through - I sent you a private message last week but I'm not sure it got through I think there definitely does need to be a new backend but that was too much for me to try and bite off to start with so that's why I just wanted to work on a new front-end. I love your github profile pic!!
|
|
IP Logged |
|
|
|
rabbits
Forum Guru
Arimaa player #1337
Gender:
Posts: 108
|
|
Re: New website & new client
« Reply #11 on: Nov 19th, 2014, 10:05pm » |
Quote Modify
|
I sent an invite to the Bitbucket repository! My Github icon is my Gravatar, which is what I use on this forum too. Oh, and Gravatars are already somewhat supported / used in my Arimaa Site!
|
« Last Edit: Nov 19th, 2014, 10:05pm by rabbits » |
IP Logged |
|
|
|
Brendan_M
Forum Full Member
Arimaa player #8106
Gender:
Posts: 21
|
|
Re: New website & new client
« Reply #12 on: Dec 1st, 2014, 2:51pm » |
Quote Modify
|
I've tried contacting Omar but I haven't had any response. I don't know if the email address associated with the private message is still in use. Does anyone have an email address that they know works for Omar or alternatively does anyone have access to the server to make a small change for me and to look at some server logs? Or even better would I be able to get access to do these things?
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: New website & new client
« Reply #13 on: Dec 2nd, 2014, 7:59am » |
Quote Modify
|
Hey Brendan, check your PMs.
|
|
IP Logged |
|
|
|
leo
Forum Guru
Gender:
Posts: 278
|
|
Re: New website & new client
« Reply #14 on: Jan 9th, 2015, 8:00pm » |
Quote Modify
|
Hi Brendan, send me your email address in a PM, I can help with the chatroom protocol if needed.
|
|
IP Logged |
|
|
|
|