User Tools

Site Tools


labs:networking

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
labs:networking [2017/03/17 12:46]
bissigp [Commands]
labs:networking [2020/08/31 21:05] (current)
Line 9: Line 9:
  
 ===== Exercises ===== ===== Exercises =====
- +  ​Connect to the server using ''​telnet''​. When connected, authenticate yourself with the token given to you by the assistant and set our alias. Choose your alias wisely as it cannot be changed later in the game easily. It will be shown on the ranking website once you start playing games in easy mode. 
-   ​Connect to the server using ''​telnet''​. When connected, authenticate yourself with the token given to you by the assistant and set our alias. Choose your alias wisely as it cannot be changed later in the game easily. It will be shown on the ranking website once you start playing games in easy mode. +  ​- ​Play a few rounds of shootout manually through ''​telnet''​. You will notice that games can time out. This timeout is long when playing in Debug mode. 
- +  ​- ​Write a bot which automatically plays games of shootout. Your client should connect to the server through a socket. Eclipse is installed on the lab computers (in ''/​var/​local/​eclipse/​eclipse''​). It can help you develop your bot in Java which includes support for socket communication. However, you are free to implement your bot in any language you would like. Be aware that we do not know all programming languages and hence cannot give you the same level of assistance in different languages. While you are working on your bot you should stay in Debug mode (i.e., you should not change modes). In this mode you should get games against a bot which answers quickly. Once you switch to Easy and Pro mode, your bot will play others. Hence it gets harder to debug since not every bot may answer in a timely manner! 
-   ​* ​Play a few rounds of shootout manually through ''​telnet''​. You will notice that games can time out. This timeout is long when playing in Debug mode. +  ​- ​Once your bot can play in Debug mode, change to easy mode and see how well your bot performs against the others. 
- +  ​- ​To finish the Fachpraktikum,​ your bot should be able to play in Pro mode. This means that you should be able to handle games that occur in parallel!
-   ​* ​Write a bot which automatically plays games of shootout. Your client should connect to the server through a socket. Eclipse is installed on the lab computers (in ''/​var/​local/​eclipse/​eclipse''​). It can help you develop your bot in Java which includes support for socket communication. However, you are free to implement your bot in any language you would like. Be aware that we do not know all programming languages and hence cannot give you the same level of assistance in different languages. While you are working on your bot you should stay in Debug mode (i.e., you should not change modes). In this mode you should get games against a bot which answers quickly. Once you switch to Easy and Pro mode, your bot will play others. Hence it gets harder to debug since not every bot may answer in a timely manner! +
- +
- +
-   ​* ​Once your bot can play in Debug mode, change to easy mode and see how well your bot performs against the others. +
- +
-   ​* ​To finish the Fachpraktikum,​ your bot should be able to play in Pro mode. This means that you should be able to handle games that occur in parallel!+
  
 ====== Commands ====== ====== Commands ======
 +Basic (Exercises 1-3):
   * ''​Help <​Command>'':​ Gives you more information on all the commands.   * ''​Help <​Command>'':​ Gives you more information on all the commands.
   * ''​Auth <​Token>'':​ You need to authenticate with your token before playing.   * ''​Auth <​Token>'':​ You need to authenticate with your token before playing.
   * ''​SetAlias <​Alias>'':​ You need to set an Alias (Nickname) before playing.   * ''​SetAlias <​Alias>'':​ You need to set an Alias (Nickname) before playing.
   * ''​DoMove <​GameId>​ <​Move>'':​ This is how you do a move in a running game. You can Shoot, Reload, and Protect   * ''​DoMove <​GameId>​ <​Move>'':​ This is how you do a move in a running game. You can Shoot, Reload, and Protect
 +
 +Advanced (Exercises 4-5):
   * ''​ChangeMode <​Mode>'':​ Once you start writing your bot, switch to Easy mode.   * ''​ChangeMode <​Mode>'':​ Once you start writing your bot, switch to Easy mode.
   * ''​Response <​Solution>'':​ If you change game mode, you need to respond to the Challenge you get. FAST so no human player can get into Easy or Pro mode.   * ''​Response <​Solution>'':​ If you change game mode, you need to respond to the Challenge you get. FAST so no human player can get into Easy or Pro mode.
   * ''​Stop'':​ If you want to stop playing gracefully. After sending Stop, no more games will be generated for you until you reconnect to the server.   * ''​Stop'':​ If you want to stop playing gracefully. After sending Stop, no more games will be generated for you until you reconnect to the server.
  
 +From Server:
   * ''​Game <​GameId>​ <​Opponent Alias>'':​ The server tells you that there is a game with an id against an opponent.   * ''​Game <​GameId>​ <​Opponent Alias>'':​ The server tells you that there is a game with an id against an opponent.
   * ''​Round <​GameId>​ <Round Number> <Your Move> <​Opponent Move> <​Result>'':​ The server tells you what happened in the round that just finished.   * ''​Round <​GameId>​ <Round Number> <Your Move> <​Opponent Move> <​Result>'':​ The server tells you what happened in the round that just finished.
Line 41: Line 38:
   * ''​sudo apt install sshfs''​   * ''​sudo apt install sshfs''​
   * ''​mkdir tardis-home/''​   * ''​mkdir tardis-home/''​
-  * ''​sshfs ​bissigp@login.ee.ethz.ch:​ tardis-home/''​+  * ''​sshfs ​<​yournethzlogin>​@login.ee.ethz.ch:​ tardis-home/''​
  
 After which you should point eclipse to a folder below tardis-home so it is stored and accessed remotely. After which you should point eclipse to a folder below tardis-home so it is stored and accessed remotely.
labs/networking.1489751189.txt.gz · Last modified: 2020/08/31 21:05 (external edit)