AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Is building Bot in server mode possible ?
 
 

Hello, I am blocked in my use of ChatScript on EC2 Amazon Ubuntu server.
This is probably a misunderstanding on my part, but I can not build my bot.
So I have a question for you:

Is it possible to build a Bot from the ChatScript server launched by ./LinuxChatScript64 or is it absolutely necessary to have a standalone mode connection ?


Mathieu

 

 
  [ # 1 ]

I don’t really understand the question.  Std versions of ChatScript can act as both stand alone or server. In linux it defaults to server but you can give a command line parameter “local” to get nonserver. In Windows it defaults to stand alone but you can get server by command line parameter “port=”.  While I typically build from a stand alone copy using :build, there are command line parmeters for Build0=  and Build1= which will trigger builds from a command line

 

 
  [ # 2 ]

You need a client - but yes.  The standalone commands all work in server mode too - like :bot or :build 1.  I sometimes work on my bots inside Unity3d because I have a client there and I’m doing a lot of OOB communication so seeing the OOB in unity debugger is very useful.  I will edit the files, then issue a :build 1 just like the stand alone workflow. 

Do you have access to your file system on EC2?  You need access to edit the files or edit them local and upload them to build the bot. You might check out some of the CS clients like the web one included with the project.  You can write your own simple client using the information here:

https://github.com/bwilcox-1234/ChatScript/blob/master/WIKI/CLIENTS-AND-SERVERS/ChatScript-ClientServer-Manual.md#communicating-with-the-server

Once I figured out how to send null characters sometimes I communicate with the raw server socket via netcat, but that is a bit crazy probably.

Somebody should write a ChatScript client plugin for Sublime Text…..

 

 
  [ # 3 ]

Thank you for your two answers. In fact I am sorry to have asked this newbie question.

Locally everything goes well on my Debian system 8.7. I compiled the standalone mode and I was going through there to build my Bot. Only I thought I did not have to do all this work on my EC2 Ubuntu Instance …

In fact I can confess that I do not necessarily understand what the command : build do
Nor the difference between build1 and build0 ...

Actually Todd, I go through the interface BETTER found in WEBINTERFACE. Works well.

I will try to start the CS server with the parameter Build0 = Mybot.

Thank you

 

 
  [ # 4 ]

<quote>ubuntu@ip-172-31-24-191:~/ChatScript/BINARIES$ ./LinuxChatScript64 build0=MBOT
CommandLine:
  build0=MBOT

evcalled pid: 25722
ChatScript EVSERVER Version 7.3 pid: 25722 64 bit LINUX compiled Mar 4 2017 22:55:05 host=local
WordNet: dict=214037 fact=85706 heap=12700452 Mar04’17-12:29:10
Build0:  dict=68029 fact=129124 heap=1148556 Compiled:Mar02’17-19:44:16 by version 7.2 “0”
Build1:  dict=171 fact=19 heap=217292 Compiled:Mar15’17-19:42:09 by version 7.12 “Mbot”

Segmentation fault (core dumped)
</quote>

Version problem I guess…

 

 
  [ # 5 ]

Finally my question was very badly asked.
Here is the solution I found to solve most of my problem :

I start the server while keeping the console (the terminal) with screen command :

screen ./LinuxChatScript64

Starts the process without displaying it in the consolel.


This brings me to another question, which I hope is more understandable : Can we use the :build command while the server is running? I can definitely stop my server, but to not die silly I will like to understand a little better the operation of: buil.

thank you for your patience…

 

 
  [ # 6 ]

if you have open authorization to use debug commands (the file authorizedIP.txt has not been changed from the default of all), then you can use any debug command to the server, and :build is such a command

 

 
  [ # 7 ]
Mathieu Rigard - Mar 23, 2017:

Finally my question was very badly asked.
Here is the solution I found to solve most of my problem :

I start the server while keeping the console (the terminal) with screen command :

screen ./LinuxChatScript64

Starts the process without displaying it in the consolel.


This brings me to another question, which I hope is more understandable : Can we use the :build command while the server is running? I can definitely stop my server, but to not die silly I will like to understand a little better the operation of: buil.

thank you for your patience…


./LinuxChatScript64 &


But yes, screen is awesome - its the first thing I type whenever I log into a remote system.  Too many time disconnected in the middle of something important taught me that.

Is there a reason you need the console?  I typically launch my chatscript as a service on startup under linux like you would a web server or mail server or what have you.

 

 
  [ # 8 ]

The use of the console was to launch the :build of my bot ...

 

 
  [ # 9 ]
Todd Kuebler - Mar 16, 2017:

You need a client - but yes.  The standalone commands all work in server mode too - like :bot or :build 1.  I sometimes work on my bots inside Unity3d because I have a client there and I’m doing a lot of OOB communication so seeing the OOB in unity debugger is very useful.  I will edit the files, then issue a :build 1 just like the stand alone workflow. 

Do you have access to your file system on EC2?  You need access to edit the files or edit them local and upload them to build the bot. You might check out some of the CS clients like the web one included with the project.  You can write your own simple client using the information here:

https://github.com/bwilcox-1234/ChatScript/blob/master/WIKI/CLIENTS-AND-SERVERS/ChatScript-ClientServer-Manual.md#communicating-with-the-server

Once I figured out how to send null characters sometimes I communicate with the raw server socket via netcat, but that is a bit crazy probably.

Somebody should write a ChatScript client plugin for Sublime Text…..

Hi Todd,

Are you building bots in Unity and connecting them to ChatScript?  How are you managing the conversion of Unity’s websockets to ChatScript sockets?

We have used websockify fairly successfully (on a university server and an Amazon (windows) server), but we are stymied trying to implement this on our local Medical Center fire walled server so I would welcome advice from someone skilled in socket and server communications.

Thanks,

Doug Danforth

 

 
  [ # 10 ]
Doug Danforth - Mar 24, 2017:

Hi Todd,

Are you building bots in Unity and connecting them to ChatScript?  How are you managing the conversion of Unity’s websockets to ChatScript sockets?

We have used websockify fairly successfully (on a university server and an Amazon (windows) server), but we are stymied trying to implement this on our local Medical Center fire walled server so I would welcome advice from someone skilled in socket and server communications.

Thanks,

Doug Danforth

I just saw this, sorry for the delay in answering.

I am just doing raw TCP socket async communication from the unity client in c#.  I’m not creating a web build, this is just for mac/pc/linux unity players.

I had chatscript embedded in unity with C# wrappers and it worked fine, but I decided to move back to client server for ‘reasons’.

What is blocking you in the local firewall server?  Are you trying to communicate out from unity inside your firewall to a chatscript instance on AWS?  What ports are allowed by the firewall?  You might be able to sneak out one of the allowed ports, i.e. run chatscript on port 80.. wink  Or you could work with your IT department to open up a specific port in your firewall for outbound initiated bi-directional tcp communication.

 

 
  [ # 11 ]
Todd Kuebler - May 31, 2017:

I just saw this, sorry for the delay in answering.

I am just doing raw TCP socket async communication from the unity client in c#.  I’m not creating a web build, this is just for mac/pc/linux unity players.

I had chatscript embedded in unity with C# wrappers and it worked fine, but I decided to move back to client server for ‘reasons’.

What is blocking you in the local firewall server?  Are you trying to communicate out from unity inside your firewall to a chatscript instance on AWS?  What ports are allowed by the firewall?  You might be able to sneak out one of the allowed ports, i.e. run chatscript on port 80.. wink  Or you could work with your IT department to open up a specific port in your firewall for outbound initiated bi-directional tcp communication.

I am trying to communicate from Unity outside the firewall to our ChatScript sever behind the firewall. We have been fussing with this off an on for the past few months with little success. At first I thought the problem was with how websockify was deployed on the firewalled server but that doesn’t seem to be it. I think it is a proxy or firewall issue with websocket traffic.

Doug

 

 
  login or register to react