Uzenet

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

Like you say, it's a good idea to hold off on the hardware keyboard work since we really do have a lot of momentum rolling on the networking side of things. After considerable time trying to make that thing work fast enough I am burned out on it entirely anyway. We absolutely do need a working way to easily enter any ASCII character, though, thus I need to get that virtual keyboard working a bit better and also having a text box and support for some formatting rules like /t /n etc. At that point we aren't limited by our input options and could actually connect to a wifi point without hard coding that stuff or doing it in a terminal emulator on PC.

The chat server is more or less working I'd say, and 1 bug I know how to fix, so I will add support for a couple commands like +list where it would send out a list of everyone online and +whisper for private messages. Then I think that is good enough and I am working on the Uzebox version of the chatroom in mode 9 with the virtual keyboard. Would be nice to have at least 1 service really working nicely. It is a pain to develop on the hardware and I'm starting to think implementing 8266 emulation in Uzem would save time overall. I found no support for UART stuff there, am I missing something? I know roughly how to turn a buffer full of bytes into AT commands and how to translate those AT commands into socket code(and can be cross platform). Thoughts?
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzenet

Post by uze6666 »

D3thAdd3r wrote:It is a pain to develop on the hardware and I'm starting to think implementing 8266 emulation in Uzem would save time overall. I found no support for UART stuff there, am I missing something? I know roughly how to turn a buffer full of bytes into AT commands and how to translate those AT commands into socket code(and can be cross platform). Thoughts?
Nope, there's no UART support. Uzem was developed with just the minimum stuff required. It's a bit messy right now and a good re-factoring would be warranted. But if you want to implement 8266 emulation feel free to jump in, be be warned that it's not for the feint of heart! The only guideline I'd give would be to have the UART registers and low level code put in avr8.c and create a new c file for the 8266. Some sort of support for multiple firmware revs could be a plus.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzenet

Post by uze6666 »

Btw, I was able to point my uzebox.net domain (parked for 6 years!) to 216.189.148.140. Works great! :mrgreen:
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

That domain name is perfect for this, very cool. Not much to change a name at this point but this would be the last opportunity to ask, do you have any preference for Uzebox.Net for the name versus UzeNet?
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

I got Apache installed on the VPS and threw together a placeholder concept page, check it out at uzebox.net. If you have any ideas or know anything about how to configure Apache, well you da man Alec, do what you will! I will have to remember java script at some point, I think we would need java+websockets if we wanted to display information from the servers. It doesn't look like it would require too complex a script to pull off basic functionality.

PS. I see 1 user online all night, have you had an Uzebox connected to the chat room for that long or is it a bug in the user counter? It would be nice to know the 8266 doesn't just flake out sometimes and disconnect even with that old firmware.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzenet

Post by uze6666 »

Not much to change a name at this point but this would be the last opportunity to ask, do you have any preference for Uzebox.Net for the name versus UzeNet?
Uzenet would be as an overall name for the network interface, API and server while Uzebox.net is the host domain you connect to. Perhaps we could merge both. Dunno. Anybody else has comment on this? Is Uzenet a confusing term for you guys?
I got Apache installed on the VPS
Cool, I was about to ask if it was possible. That opens a lot of possibilities. A leaderboard status page is definitely something I'd like to see first.
PS. I see 1 user online all night, have you had an Uzebox connected to the chat room for that long or is it a bug in the user counter? It would be nice to know the 8266 doesn't just flake out sometimes and disconnect even with that old firmware.
Yes, I leave it running all the time to see issues. So far it seems to always have disconnected in some form when I check in the morning. I think I have read it needs so send or receive stuff periodically to avoid timeout. I'll have to look into this.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

uze6666 wrote:A leaderboard status page is definitely something I'd like to see first.
I have a good chunk of a simple high score server going and it's totally non-specific to score format and easy. I'll get that up soonish.
uze6666 wrote:I think I have read it needs so send or receive stuff periodically to avoid timeout. I'll have to look into this.
Ah, that could be it then. I could throw in another server command called "+hb" for heartbeat and the server just discards it whenever it gets that from the client? Might be a nice way to fix it if it just needs an occasional packet but we don't want occasional garbage chat. I don't think TCP itself requires manual keep alives, but some firewall/router software assume it's dead after a while..maybe. Besides who knows what quirks the 8266 might have in it's TCP stack.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

I just was watching some games on telnet: nethack.alt.org using PuTTY and I do want to implement some simple uzenet telnet client since then you could play any of those games using just one program on the Uzebox. But another pretty interesting idea would be to do scrolling games streaming the data from a server that just has a big massive array with all the tile numbers and you specify you want the left side and the right side of some virtual window in that space. Then you would just have to download SCREEN_TILES_V*2 bytes a couple times a second so that every new tile increment you already know what you need to scroll left or right. Thats not much data and the speed should be fine :idea:
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Uzenet

Post by D3thAdd3r »

Triple post :shock:

Alec I threw a new version of the chat server up so don't count that disconnect as the 8266's fault. You can now send "+hb" every once in a while and the server will ignore it. There are some new commands implemented now that should more or less work correctly:

"+commands" this will list all the commands, if you are an administrator it will show admin only commands too
"+admin uZeNeTaDmIn" this will log you in as administrator
"+kick tr0ub13m4k3r" kicks the user "tr0ub13m4k3r" if you are logged in as admin
"+time" will display the server time and date to the client
"+list" will send a list of all the connected users to the client
"+roll 5 20" will roll "5" "20" sided dice and display the results to everyone. you can have use up to 9 32-sided dice
"+bye" disconnect from the server
"+whisper SomeGuy some text to send" sends the string "some text to send" to only the user named "SomeGuy" if that user name exists otherwise an error is sent....it might crash the server right now I haven't really tested it ;)

There is more work to do where I'd like a game to be able to specify a 128bit value representing what characters it actually has graphics for. A lot of games would want everything translated to uppercase, special characters removed or replaced with a space or something. The last feature I was considering was code that would generate html code of the room to display on uzebox.net(uzenetwork.org is also up). Then the high score server could do the same and some program concatenates all that output and rebuilds index.html. That sounds crazy but I have little interest or knowledge in web programming stuff.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzenet

Post by uze6666 »

But another pretty interesting idea would be to do scrolling games streaming the data from a server that just has a big massive array with all the tile numbers and you specify you want the left side and the right side of some virtual window in that space.
Yeah that would be a neat idea for some sort f Minecraft Uzebox-style where the map can change all the time by other users. :)

Cool for all the commands! I was thinking it would be best to keep them short, no more than 5 characters to optimize things in the API and lower bandwidth (i.e. +comm).

For sure I would much prefer a web app for the scoreboard. In fact if well designed we could have everything running in there including the chat server since you can open raw sockets in Java, even in a web app. I'll have to retain myself or I'll also add a database to store the scores and whatever we'd need. I know a lot on the subject but can understand it can be overwhelming at first.

Btw, how's the RAM on the VPS with Tomcat? If it's already at the top, the whole webapp thing is a nogo.

EDIT: Oh, it's Apache you installed, not Tomcat! For sure we'd need the latter for webapps. And install Java. I'll try, just to see the footprint.
Post Reply